dependabot[bot] opened a new pull request, #3395: URL: https://github.com/apache/cxf/pull/3395
Bumps `cxf.openfeign.version` from 13.13 to 13.14. Updates `io.github.openfeign:feign-core` from 13.13 to 13.14 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/openfeign/feign/releases">io.github.openfeign:feign-core's releases</a>.</em></p> <blockquote> <h2>OpenFeign 13.14</h2> <h2>What's Changed</h2> <ul> <li>Honor jdk.httpclient.allowRestrictedHeaders in Http2Client (<a href="https://redirect.github.com/openfeign/feign/issues/2975">#2975</a>) by <a href="https://github.com/seonwooj0810"><code>@seonwooj0810</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3419">OpenFeign/feign#3419</a></li> <li>escape crlf and quotes in multipart Content-Disposition headers by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3417">OpenFeign/feign#3417</a></li> <li>fall back to utf-8 for invalid content-type charset by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3427">OpenFeign/feign#3427</a></li> <li>Make Expressions max length configurable (fixes <a href="https://redirect.github.com/openfeign/feign/issues/2916">#2916</a>) by <a href="https://github.com/seonwooj0810"><code>@seonwooj0810</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3422">OpenFeign/feign#3422</a></li> <li>Preserve delegate content type for multipart parameters by <a href="https://github.com/seonwooj0810"><code>@seonwooj0810</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3382">OpenFeign/feign#3382</a></li> <li>cap Content-Length before narrowing to int in Http2Client by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3431">OpenFeign/feign#3431</a></li> <li>generate multipart boundary from SecureRandom by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3429">OpenFeign/feign#3429</a></li> <li>strip crlf from multipart Content-Type header by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3432">OpenFeign/feign#3432</a></li> <li>Return response body in FeignException from errorReading (<a href="https://redirect.github.com/openfeign/feign/issues/2618">#2618</a>) by <a href="https://github.com/seonwooj0810"><code>@seonwooj0810</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3415">OpenFeign/feign#3415</a></li> <li>treat invalid expression value modifier as a literal by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3437">OpenFeign/feign#3437</a></li> <li>encode collection values in urlencoded form bodies by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3436">OpenFeign/feign#3436</a></li> <li>encode soap request body with the configured charset by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3433">OpenFeign/feign#3433</a></li> <li>cap negative Content-Length in GoogleHttpClient and DefaultClient by <a href="https://github.com/renechoi"><code>@renechoi</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3492">OpenFeign/feign#3492</a></li> <li>Avoid converting empty GET bodies to POST by <a href="https://github.com/hutiefang76"><code>@hutiefang76</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3463">OpenFeign/feign#3463</a></li> <li>Support deflate request encoding in HC5 by <a href="https://github.com/kmdy7991"><code>@kmdy7991</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3464">OpenFeign/feign#3464</a></li> <li>Close JavaLogger file handlers by <a href="https://github.com/hutiefang76"><code>@hutiefang76</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3468">OpenFeign/feign#3468</a></li> <li>honour response charset in StringDecoder by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3453">OpenFeign/feign#3453</a></li> <li>honour response charset in gson and jackson iterator decoders by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3447">OpenFeign/feign#3447</a></li> <li>Let capabilities supply response interceptors by <a href="https://github.com/hutiefang76"><code>@hutiefang76</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3446">OpenFeign/feign#3446</a></li> <li>strip crlf from resolved header template values by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3444">OpenFeign/feign#3444</a></li> <li>encode string request body with utf-8 not the platform default by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3442">OpenFeign/feign#3442</a></li> <li>honour requested charset in okhttp response body reader by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3441">OpenFeign/feign#3441</a></li> <li>Fix duplicate Content-Length handling in DefaultClient by <a href="https://github.com/hutiefang76"><code>@hutiefang76</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3448">OpenFeign/feign#3448</a></li> <li>Add HTTP QUERY method support (RFC 10008) by <a href="https://github.com/kumarprabhashanand"><code>@kumarprabhashanand</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3454">OpenFeign/feign#3454</a></li> <li>clear response body length after gzip/deflate decode by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3445">OpenFeign/feign#3445</a></li> <li>Fix fluent methods on cloned builders by <a href="https://github.com/hutiefang76"><code>@hutiefang76</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3449">OpenFeign/feign#3449</a></li> <li>Add GraphQL subscription support over graphql-transport-ws by <a href="https://github.com/velo"><code>@velo</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3512">OpenFeign/feign#3512</a></li> <li>Avoid default Content-Type on POST/PUT/PATCH with empty body by <a href="https://github.com/seonwooj0810"><code>@seonwooj0810</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3507">OpenFeign/feign#3507</a></li> <li>Flatten feign-bom so imports do not override consumer dependency management by <a href="https://github.com/kalayciburak"><code>@kalayciburak</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3508">OpenFeign/feign#3508</a></li> <li>Decode every root field of a GraphQL operation by <a href="https://github.com/velo"><code>@velo</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3526">OpenFeign/feign#3526</a></li> <li>avoid duplicate Content-Length header in DefaultClient by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3451">OpenFeign/feign#3451</a></li> <li>Apply JAXB factory properties when creating unmarshallers by <a href="https://github.com/arimu1"><code>@arimu1</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3519">OpenFeign/feign#3519</a></li> <li>Skip bridge methods in contract parsing and map them for dispatch by <a href="https://github.com/AzazelSensei"><code>@AzazelSensei</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3517">OpenFeign/feign#3517</a></li> </ul> <hr /> <!-- raw HTML omitted --> <ul> <li>build(deps): Bump springboot.version from 4.0.6 to 4.1.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/OpenFeign/feign/pull/3408">OpenFeign/feign#3408</a></li> <li>build(deps-dev): Bump org.sonatype.central:central-publishing-maven-plugin from 0.10.0 to 0.11.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/OpenFeign/feign/pull/3420">OpenFeign/feign#3420</a></li> <li>build(deps): Bump com.github.jknack:handlebars from 4.5.1 to 4.5.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/OpenFeign/feign/pull/3421">OpenFeign/feign#3421</a></li> <li>build(deps): Bump org.hibernate.validator:hibernate-validator from 6.2.5.Final to 9.1.0.Final by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/OpenFeign/feign/pull/3416">OpenFeign/feign#3416</a></li> <li>build(deps): Bump org.openrewrite.recipe:rewrite-testing-frameworks from 3.37.0 to 3.38.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/OpenFeign/feign/pull/3423">OpenFeign/feign#3423</a></li> <li>build(deps): Bump org.openrewrite.recipe:rewrite-migrate-java from 3.36.0 to 3.37.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/OpenFeign/feign/pull/3426">OpenFeign/feign#3426</a></li> <li>build(deps-dev): Bump org.openrewrite.maven:rewrite-maven-plugin from 6.41.0 to 6.42.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/OpenFeign/feign/pull/3424">OpenFeign/feign#3424</a></li> <li>build(deps): Bump org.hibernate.validator:hibernate-validator from 6.2.5.Final to 9.1.0.Final by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/OpenFeign/feign/pull/3425">OpenFeign/feign#3425</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/OpenFeign/feign/blob/master/CHANGELOG.md">io.github.openfeign:feign-core's changelog</a>.</em></p> <blockquote> <h3>Version 13.14</h3> <ul> <li>Add <code>@Experimental</code> <code>MultiEncoder</code>, <code>PredicatedEncoder</code> and <code>EncoderPredicate</code>, letting a single client route each request to the right encoder. Encoders declare what they can handle by implementing <code>PredicatedEncoder</code>; anything else is paired with a predicate via <code>PredicatedEncoder.of(predicate, encoder)</code> or <code>MultiEncoder.builder()</code>. Encoders are consulted in the order given and a request nothing accepts fails with an <code>EncodeException</code> naming what was tried, so a default is an encoder guarded by <code>EncoderPredicate.any()</code> listed last. <code>FormEncoder</code> and <code>SpringFormEncoder</code> gain <code>createPredicatedFormEncoder()</code>, 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' <code>MeteredEncoder</code> forwards <code>canEncode</code> to the encoder it wraps. The <code>Encoder</code> interface is unchanged, so existing encoders keep working (<a href="https://redirect.github.com/openfeign/feign/issues/3485">#3485</a>).</li> <li>Add <code>@Experimental</code> <code>MultiDecoder</code>, <code>PredicatedDecoder</code> and <code>DecoderPredicate</code>, the decode-side counterpart, letting a single client route each response to the right decoder. Decoders declare what they can handle by implementing <code>PredicatedDecoder</code>; anything else is paired with a predicate via <code>PredicatedDecoder.of(predicate, decoder)</code> or <code>MultiDecoder.builder()</code>. Decoders are consulted in the order given and a response nothing accepts fails with a <code>DecodeException</code> naming what was tried, so a default is a decoder guarded by <code>DecoderPredicate.any()</code> 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 <code>OptionalDecoder</code> and the metrics modules' <code>MeteredDecoder</code> forward <code>canDecode</code> to the decoder they wrap. The <code>Decoder</code> interface is unchanged, so existing decoders keep working.</li> <li><code>JAXBContextFactory.withProperty</code> is now applied when creating Unmarshallers, not only Marshallers. Marshaller-only properties are skipped on unmarshal (<a href="https://redirect.github.com/openfeign/feign/issues/3056">#3056</a>).</li> <li>Add support for the HTTP QUERY method (RFC 10008) — safe, idempotent, and cacheable with a request body. <code>HttpCacheInterceptor</code> includes QUERY in its default cacheable set and incorporates a body hash into the cache key to reduce cross-body collisions.</li> <li>Flatten <code>feign-bom</code> on install/deploy so importing the BOM does not pull <code>feign-parent</code> dependency management (for example Jackson) into consumer projects such as Spring Boot.</li> </ul> <h3>Version 13.12</h3> <ul> <li><code>UrlencodedFormContentProcessor</code> now honors <code>CollectionFormat</code> from <code>@RequestLine</code>/<code>RequestTemplate</code> for array and collection values in <code>application/x-www-form-urlencoded</code> bodies.</li> </ul> <h3>Version 11.9</h3> <ul> <li><code>OkHttpClient</code> now implements <code>AsyncClient</code></li> </ul> <h3>Version 10.9</h3> <ul> <li>Configurable to disable streaming mode for Default client by verils (<a href="https://redirect.github.com/openfeign/feign/issues/1182">#1182</a>)</li> <li>Overriding query parameter name by boggard (<a href="https://redirect.github.com/openfeign/feign/issues/1184">#1184</a>)</li> <li>Internal feign metrics by velo:</li> <li>Dropwizard metrics 5 (<a href="https://redirect.github.com/openfeign/feign/issues/1181">#1181</a>)</li> <li>Micrometer (<a href="https://redirect.github.com/openfeign/feign/issues/1188">#1188</a>)</li> </ul> <h3>Version 10.8</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/OpenFeign/feign/commit/372ebee2551bb483bc7e55ea9768981b6d55a59d"><code>372ebee</code></a> prepare release 13.14</li> <li><a href="https://github.com/OpenFeign/feign/commit/f9ab405ee8d69390a205a5a73ec6240d4ab1bb1d"><code>f9ab405</code></a> Merge pull request <a href="https://redirect.github.com/openfeign/feign/issues/3517">#3517</a> from AzazelSensei/fix/skip-synthetic-bridge-methods</li> <li><a href="https://github.com/OpenFeign/feign/commit/a2676b8f9ac4e5b56b2daa0f124822dd00862cd8"><code>a2676b8</code></a> Merge pull request <a href="https://redirect.github.com/openfeign/feign/issues/3519">#3519</a> from arimu1/fix/3056-jaxb-unmarshaller-properties</li> <li><a href="https://github.com/OpenFeign/feign/commit/fcb4a97dbcffe6b56344c05f3ee2cc91221b5246"><code>fcb4a97</code></a> Merge pull request <a href="https://redirect.github.com/openfeign/feign/issues/3451">#3451</a> from alhudz/content-length-duplicate</li> <li><a href="https://github.com/OpenFeign/feign/commit/02b854907fc2e13b13801e3257f4156060a2d59f"><code>02b8549</code></a> Merge pull request <a href="https://redirect.github.com/openfeign/feign/issues/3526">#3526</a> from OpenFeign/fix/3525-multi-root-fields</li> <li><a href="https://github.com/OpenFeign/feign/commit/51d1692dd8d3817545ab3b4fecd3ba8f8848a5b4"><code>51d1692</code></a> Decode every root field of a GraphQL operation</li> <li><a href="https://github.com/OpenFeign/feign/commit/182624e0f9b1f9d04208a9c374b2fa2dbda5f3ad"><code>182624e</code></a> Merge pull request <a href="https://redirect.github.com/openfeign/feign/issues/3524">#3524</a> from OpenFeign/dependabot/maven/com.google.guava-gua...</li> <li><a href="https://github.com/OpenFeign/feign/commit/e1143548ea6c1b2d288be246a0c9d59b902ac8a1"><code>e114354</code></a> build(deps): Bump com.google.guava:guava from 33.6.0-jre to 33.7.1-jre</li> <li><a href="https://github.com/OpenFeign/feign/commit/a06b1a0b7f0cde00e170bc248314f921ccfbae38"><code>a06b1a0</code></a> Merge pull request <a href="https://redirect.github.com/openfeign/feign/issues/3523">#3523</a> from OpenFeign/dependabot/maven/tools.jackson-jackso...</li> <li><a href="https://github.com/OpenFeign/feign/commit/e90bdd56727ff9be6a841668d05e4462b2790b53"><code>e90bdd5</code></a> Merge pull request <a href="https://redirect.github.com/openfeign/feign/issues/3522">#3522</a> from OpenFeign/dependabot/maven/org.json-json-20260814</li> <li>Additional commits viewable in <a href="https://github.com/openfeign/feign/compare/13.13...13.14">compare view</a></li> </ul> </details> <br /> Updates `io.github.openfeign:feign-httpclient` from 13.13 to 13.14 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/openfeign/feign/releases">io.github.openfeign:feign-httpclient's releases</a>.</em></p> <blockquote> <h2>OpenFeign 13.14</h2> <h2>What's Changed</h2> <ul> <li>Honor jdk.httpclient.allowRestrictedHeaders in Http2Client (<a href="https://redirect.github.com/openfeign/feign/issues/2975">#2975</a>) by <a href="https://github.com/seonwooj0810"><code>@seonwooj0810</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3419">OpenFeign/feign#3419</a></li> <li>escape crlf and quotes in multipart Content-Disposition headers by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3417">OpenFeign/feign#3417</a></li> <li>fall back to utf-8 for invalid content-type charset by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3427">OpenFeign/feign#3427</a></li> <li>Make Expressions max length configurable (fixes <a href="https://redirect.github.com/openfeign/feign/issues/2916">#2916</a>) by <a href="https://github.com/seonwooj0810"><code>@seonwooj0810</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3422">OpenFeign/feign#3422</a></li> <li>Preserve delegate content type for multipart parameters by <a href="https://github.com/seonwooj0810"><code>@seonwooj0810</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3382">OpenFeign/feign#3382</a></li> <li>cap Content-Length before narrowing to int in Http2Client by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3431">OpenFeign/feign#3431</a></li> <li>generate multipart boundary from SecureRandom by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3429">OpenFeign/feign#3429</a></li> <li>strip crlf from multipart Content-Type header by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3432">OpenFeign/feign#3432</a></li> <li>Return response body in FeignException from errorReading (<a href="https://redirect.github.com/openfeign/feign/issues/2618">#2618</a>) by <a href="https://github.com/seonwooj0810"><code>@seonwooj0810</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3415">OpenFeign/feign#3415</a></li> <li>treat invalid expression value modifier as a literal by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3437">OpenFeign/feign#3437</a></li> <li>encode collection values in urlencoded form bodies by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3436">OpenFeign/feign#3436</a></li> <li>encode soap request body with the configured charset by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3433">OpenFeign/feign#3433</a></li> <li>cap negative Content-Length in GoogleHttpClient and DefaultClient by <a href="https://github.com/renechoi"><code>@renechoi</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3492">OpenFeign/feign#3492</a></li> <li>Avoid converting empty GET bodies to POST by <a href="https://github.com/hutiefang76"><code>@hutiefang76</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3463">OpenFeign/feign#3463</a></li> <li>Support deflate request encoding in HC5 by <a href="https://github.com/kmdy7991"><code>@kmdy7991</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3464">OpenFeign/feign#3464</a></li> <li>Close JavaLogger file handlers by <a href="https://github.com/hutiefang76"><code>@hutiefang76</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3468">OpenFeign/feign#3468</a></li> <li>honour response charset in StringDecoder by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3453">OpenFeign/feign#3453</a></li> <li>honour response charset in gson and jackson iterator decoders by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3447">OpenFeign/feign#3447</a></li> <li>Let capabilities supply response interceptors by <a href="https://github.com/hutiefang76"><code>@hutiefang76</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3446">OpenFeign/feign#3446</a></li> <li>strip crlf from resolved header template values by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3444">OpenFeign/feign#3444</a></li> <li>encode string request body with utf-8 not the platform default by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3442">OpenFeign/feign#3442</a></li> <li>honour requested charset in okhttp response body reader by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3441">OpenFeign/feign#3441</a></li> <li>Fix duplicate Content-Length handling in DefaultClient by <a href="https://github.com/hutiefang76"><code>@hutiefang76</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3448">OpenFeign/feign#3448</a></li> <li>Add HTTP QUERY method support (RFC 10008) by <a href="https://github.com/kumarprabhashanand"><code>@kumarprabhashanand</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3454">OpenFeign/feign#3454</a></li> <li>clear response body length after gzip/deflate decode by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3445">OpenFeign/feign#3445</a></li> <li>Fix fluent methods on cloned builders by <a href="https://github.com/hutiefang76"><code>@hutiefang76</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3449">OpenFeign/feign#3449</a></li> <li>Add GraphQL subscription support over graphql-transport-ws by <a href="https://github.com/velo"><code>@velo</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3512">OpenFeign/feign#3512</a></li> <li>Avoid default Content-Type on POST/PUT/PATCH with empty body by <a href="https://github.com/seonwooj0810"><code>@seonwooj0810</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3507">OpenFeign/feign#3507</a></li> <li>Flatten feign-bom so imports do not override consumer dependency management by <a href="https://github.com/kalayciburak"><code>@kalayciburak</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3508">OpenFeign/feign#3508</a></li> <li>Decode every root field of a GraphQL operation by <a href="https://github.com/velo"><code>@velo</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3526">OpenFeign/feign#3526</a></li> <li>avoid duplicate Content-Length header in DefaultClient by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3451">OpenFeign/feign#3451</a></li> <li>Apply JAXB factory properties when creating unmarshallers by <a href="https://github.com/arimu1"><code>@arimu1</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3519">OpenFeign/feign#3519</a></li> <li>Skip bridge methods in contract parsing and map them for dispatch by <a href="https://github.com/AzazelSensei"><code>@AzazelSensei</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3517">OpenFeign/feign#3517</a></li> </ul> <hr /> <!-- raw HTML omitted --> <ul> <li>build(deps): Bump springboot.version from 4.0.6 to 4.1.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/OpenFeign/feign/pull/3408">OpenFeign/feign#3408</a></li> <li>build(deps-dev): Bump org.sonatype.central:central-publishing-maven-plugin from 0.10.0 to 0.11.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/OpenFeign/feign/pull/3420">OpenFeign/feign#3420</a></li> <li>build(deps): Bump com.github.jknack:handlebars from 4.5.1 to 4.5.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/OpenFeign/feign/pull/3421">OpenFeign/feign#3421</a></li> <li>build(deps): Bump org.hibernate.validator:hibernate-validator from 6.2.5.Final to 9.1.0.Final by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/OpenFeign/feign/pull/3416">OpenFeign/feign#3416</a></li> <li>build(deps): Bump org.openrewrite.recipe:rewrite-testing-frameworks from 3.37.0 to 3.38.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/OpenFeign/feign/pull/3423">OpenFeign/feign#3423</a></li> <li>build(deps): Bump org.openrewrite.recipe:rewrite-migrate-java from 3.36.0 to 3.37.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/OpenFeign/feign/pull/3426">OpenFeign/feign#3426</a></li> <li>build(deps-dev): Bump org.openrewrite.maven:rewrite-maven-plugin from 6.41.0 to 6.42.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/OpenFeign/feign/pull/3424">OpenFeign/feign#3424</a></li> <li>build(deps): Bump org.hibernate.validator:hibernate-validator from 6.2.5.Final to 9.1.0.Final by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/OpenFeign/feign/pull/3425">OpenFeign/feign#3425</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/OpenFeign/feign/blob/master/CHANGELOG.md">io.github.openfeign:feign-httpclient's changelog</a>.</em></p> <blockquote> <h3>Version 13.14</h3> <ul> <li>Add <code>@Experimental</code> <code>MultiEncoder</code>, <code>PredicatedEncoder</code> and <code>EncoderPredicate</code>, letting a single client route each request to the right encoder. Encoders declare what they can handle by implementing <code>PredicatedEncoder</code>; anything else is paired with a predicate via <code>PredicatedEncoder.of(predicate, encoder)</code> or <code>MultiEncoder.builder()</code>. Encoders are consulted in the order given and a request nothing accepts fails with an <code>EncodeException</code> naming what was tried, so a default is an encoder guarded by <code>EncoderPredicate.any()</code> listed last. <code>FormEncoder</code> and <code>SpringFormEncoder</code> gain <code>createPredicatedFormEncoder()</code>, 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' <code>MeteredEncoder</code> forwards <code>canEncode</code> to the encoder it wraps. The <code>Encoder</code> interface is unchanged, so existing encoders keep working (<a href="https://redirect.github.com/openfeign/feign/issues/3485">#3485</a>).</li> <li>Add <code>@Experimental</code> <code>MultiDecoder</code>, <code>PredicatedDecoder</code> and <code>DecoderPredicate</code>, the decode-side counterpart, letting a single client route each response to the right decoder. Decoders declare what they can handle by implementing <code>PredicatedDecoder</code>; anything else is paired with a predicate via <code>PredicatedDecoder.of(predicate, decoder)</code> or <code>MultiDecoder.builder()</code>. Decoders are consulted in the order given and a response nothing accepts fails with a <code>DecodeException</code> naming what was tried, so a default is a decoder guarded by <code>DecoderPredicate.any()</code> 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 <code>OptionalDecoder</code> and the metrics modules' <code>MeteredDecoder</code> forward <code>canDecode</code> to the decoder they wrap. The <code>Decoder</code> interface is unchanged, so existing decoders keep working.</li> <li><code>JAXBContextFactory.withProperty</code> is now applied when creating Unmarshallers, not only Marshallers. Marshaller-only properties are skipped on unmarshal (<a href="https://redirect.github.com/openfeign/feign/issues/3056">#3056</a>).</li> <li>Add support for the HTTP QUERY method (RFC 10008) — safe, idempotent, and cacheable with a request body. <code>HttpCacheInterceptor</code> includes QUERY in its default cacheable set and incorporates a body hash into the cache key to reduce cross-body collisions.</li> <li>Flatten <code>feign-bom</code> on install/deploy so importing the BOM does not pull <code>feign-parent</code> dependency management (for example Jackson) into consumer projects such as Spring Boot.</li> </ul> <h3>Version 13.12</h3> <ul> <li><code>UrlencodedFormContentProcessor</code> now honors <code>CollectionFormat</code> from <code>@RequestLine</code>/<code>RequestTemplate</code> for array and collection values in <code>application/x-www-form-urlencoded</code> bodies.</li> </ul> <h3>Version 11.9</h3> <ul> <li><code>OkHttpClient</code> now implements <code>AsyncClient</code></li> </ul> <h3>Version 10.9</h3> <ul> <li>Configurable to disable streaming mode for Default client by verils (<a href="https://redirect.github.com/openfeign/feign/issues/1182">#1182</a>)</li> <li>Overriding query parameter name by boggard (<a href="https://redirect.github.com/openfeign/feign/issues/1184">#1184</a>)</li> <li>Internal feign metrics by velo:</li> <li>Dropwizard metrics 5 (<a href="https://redirect.github.com/openfeign/feign/issues/1181">#1181</a>)</li> <li>Micrometer (<a href="https://redirect.github.com/openfeign/feign/issues/1188">#1188</a>)</li> </ul> <h3>Version 10.8</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/OpenFeign/feign/commit/372ebee2551bb483bc7e55ea9768981b6d55a59d"><code>372ebee</code></a> prepare release 13.14</li> <li><a href="https://github.com/OpenFeign/feign/commit/f9ab405ee8d69390a205a5a73ec6240d4ab1bb1d"><code>f9ab405</code></a> Merge pull request <a href="https://redirect.github.com/openfeign/feign/issues/3517">#3517</a> from AzazelSensei/fix/skip-synthetic-bridge-methods</li> <li><a href="https://github.com/OpenFeign/feign/commit/a2676b8f9ac4e5b56b2daa0f124822dd00862cd8"><code>a2676b8</code></a> Merge pull request <a href="https://redirect.github.com/openfeign/feign/issues/3519">#3519</a> from arimu1/fix/3056-jaxb-unmarshaller-properties</li> <li><a href="https://github.com/OpenFeign/feign/commit/fcb4a97dbcffe6b56344c05f3ee2cc91221b5246"><code>fcb4a97</code></a> Merge pull request <a href="https://redirect.github.com/openfeign/feign/issues/3451">#3451</a> from alhudz/content-length-duplicate</li> <li><a href="https://github.com/OpenFeign/feign/commit/02b854907fc2e13b13801e3257f4156060a2d59f"><code>02b8549</code></a> Merge pull request <a href="https://redirect.github.com/openfeign/feign/issues/3526">#3526</a> from OpenFeign/fix/3525-multi-root-fields</li> <li><a href="https://github.com/OpenFeign/feign/commit/51d1692dd8d3817545ab3b4fecd3ba8f8848a5b4"><code>51d1692</code></a> Decode every root field of a GraphQL operation</li> <li><a href="https://github.com/OpenFeign/feign/commit/182624e0f9b1f9d04208a9c374b2fa2dbda5f3ad"><code>182624e</code></a> Merge pull request <a href="https://redirect.github.com/openfeign/feign/issues/3524">#3524</a> from OpenFeign/dependabot/maven/com.google.guava-gua...</li> <li><a href="https://github.com/OpenFeign/feign/commit/e1143548ea6c1b2d288be246a0c9d59b902ac8a1"><code>e114354</code></a> build(deps): Bump com.google.guava:guava from 33.6.0-jre to 33.7.1-jre</li> <li><a href="https://github.com/OpenFeign/feign/commit/a06b1a0b7f0cde00e170bc248314f921ccfbae38"><code>a06b1a0</code></a> Merge pull request <a href="https://redirect.github.com/openfeign/feign/issues/3523">#3523</a> from OpenFeign/dependabot/maven/tools.jackson-jackso...</li> <li><a href="https://github.com/OpenFeign/feign/commit/e90bdd56727ff9be6a841668d05e4462b2790b53"><code>e90bdd5</code></a> Merge pull request <a href="https://redirect.github.com/openfeign/feign/issues/3522">#3522</a> from OpenFeign/dependabot/maven/org.json-json-20260814</li> <li>Additional commits viewable in <a href="https://github.com/openfeign/feign/compare/13.13...13.14">compare view</a></li> </ul> </details> <br /> Updates `io.github.openfeign:feign-micrometer` from 13.13 to 13.14 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/openfeign/feign/releases">io.github.openfeign:feign-micrometer's releases</a>.</em></p> <blockquote> <h2>OpenFeign 13.14</h2> <h2>What's Changed</h2> <ul> <li>Honor jdk.httpclient.allowRestrictedHeaders in Http2Client (<a href="https://redirect.github.com/openfeign/feign/issues/2975">#2975</a>) by <a href="https://github.com/seonwooj0810"><code>@seonwooj0810</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3419">OpenFeign/feign#3419</a></li> <li>escape crlf and quotes in multipart Content-Disposition headers by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3417">OpenFeign/feign#3417</a></li> <li>fall back to utf-8 for invalid content-type charset by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3427">OpenFeign/feign#3427</a></li> <li>Make Expressions max length configurable (fixes <a href="https://redirect.github.com/openfeign/feign/issues/2916">#2916</a>) by <a href="https://github.com/seonwooj0810"><code>@seonwooj0810</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3422">OpenFeign/feign#3422</a></li> <li>Preserve delegate content type for multipart parameters by <a href="https://github.com/seonwooj0810"><code>@seonwooj0810</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3382">OpenFeign/feign#3382</a></li> <li>cap Content-Length before narrowing to int in Http2Client by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3431">OpenFeign/feign#3431</a></li> <li>generate multipart boundary from SecureRandom by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3429">OpenFeign/feign#3429</a></li> <li>strip crlf from multipart Content-Type header by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3432">OpenFeign/feign#3432</a></li> <li>Return response body in FeignException from errorReading (<a href="https://redirect.github.com/openfeign/feign/issues/2618">#2618</a>) by <a href="https://github.com/seonwooj0810"><code>@seonwooj0810</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3415">OpenFeign/feign#3415</a></li> <li>treat invalid expression value modifier as a literal by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3437">OpenFeign/feign#3437</a></li> <li>encode collection values in urlencoded form bodies by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3436">OpenFeign/feign#3436</a></li> <li>encode soap request body with the configured charset by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3433">OpenFeign/feign#3433</a></li> <li>cap negative Content-Length in GoogleHttpClient and DefaultClient by <a href="https://github.com/renechoi"><code>@renechoi</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3492">OpenFeign/feign#3492</a></li> <li>Avoid converting empty GET bodies to POST by <a href="https://github.com/hutiefang76"><code>@hutiefang76</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3463">OpenFeign/feign#3463</a></li> <li>Support deflate request encoding in HC5 by <a href="https://github.com/kmdy7991"><code>@kmdy7991</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3464">OpenFeign/feign#3464</a></li> <li>Close JavaLogger file handlers by <a href="https://github.com/hutiefang76"><code>@hutiefang76</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3468">OpenFeign/feign#3468</a></li> <li>honour response charset in StringDecoder by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3453">OpenFeign/feign#3453</a></li> <li>honour response charset in gson and jackson iterator decoders by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3447">OpenFeign/feign#3447</a></li> <li>Let capabilities supply response interceptors by <a href="https://github.com/hutiefang76"><code>@hutiefang76</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3446">OpenFeign/feign#3446</a></li> <li>strip crlf from resolved header template values by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3444">OpenFeign/feign#3444</a></li> <li>encode string request body with utf-8 not the platform default by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3442">OpenFeign/feign#3442</a></li> <li>honour requested charset in okhttp response body reader by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3441">OpenFeign/feign#3441</a></li> <li>Fix duplicate Content-Length handling in DefaultClient by <a href="https://github.com/hutiefang76"><code>@hutiefang76</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3448">OpenFeign/feign#3448</a></li> <li>Add HTTP QUERY method support (RFC 10008) by <a href="https://github.com/kumarprabhashanand"><code>@kumarprabhashanand</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3454">OpenFeign/feign#3454</a></li> <li>clear response body length after gzip/deflate decode by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3445">OpenFeign/feign#3445</a></li> <li>Fix fluent methods on cloned builders by <a href="https://github.com/hutiefang76"><code>@hutiefang76</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3449">OpenFeign/feign#3449</a></li> <li>Add GraphQL subscription support over graphql-transport-ws by <a href="https://github.com/velo"><code>@velo</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3512">OpenFeign/feign#3512</a></li> <li>Avoid default Content-Type on POST/PUT/PATCH with empty body by <a href="https://github.com/seonwooj0810"><code>@seonwooj0810</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3507">OpenFeign/feign#3507</a></li> <li>Flatten feign-bom so imports do not override consumer dependency management by <a href="https://github.com/kalayciburak"><code>@kalayciburak</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3508">OpenFeign/feign#3508</a></li> <li>Decode every root field of a GraphQL operation by <a href="https://github.com/velo"><code>@velo</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3526">OpenFeign/feign#3526</a></li> <li>avoid duplicate Content-Length header in DefaultClient by <a href="https://github.com/alhudz"><code>@alhudz</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3451">OpenFeign/feign#3451</a></li> <li>Apply JAXB factory properties when creating unmarshallers by <a href="https://github.com/arimu1"><code>@arimu1</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3519">OpenFeign/feign#3519</a></li> <li>Skip bridge methods in contract parsing and map them for dispatch by <a href="https://github.com/AzazelSensei"><code>@AzazelSensei</code></a> in <a href="https://redirect.github.com/OpenFeign/feign/pull/3517">OpenFeign/feign#3517</a></li> </ul> <hr /> <!-- raw HTML omitted --> <ul> <li>build(deps): Bump springboot.version from 4.0.6 to 4.1.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/OpenFeign/feign/pull/3408">OpenFeign/feign#3408</a></li> <li>build(deps-dev): Bump org.sonatype.central:central-publishing-maven-plugin from 0.10.0 to 0.11.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/OpenFeign/feign/pull/3420">OpenFeign/feign#3420</a></li> <li>build(deps): Bump com.github.jknack:handlebars from 4.5.1 to 4.5.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/OpenFeign/feign/pull/3421">OpenFeign/feign#3421</a></li> <li>build(deps): Bump org.hibernate.validator:hibernate-validator from 6.2.5.Final to 9.1.0.Final by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/OpenFeign/feign/pull/3416">OpenFeign/feign#3416</a></li> <li>build(deps): Bump org.openrewrite.recipe:rewrite-testing-frameworks from 3.37.0 to 3.38.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/OpenFeign/feign/pull/3423">OpenFeign/feign#3423</a></li> <li>build(deps): Bump org.openrewrite.recipe:rewrite-migrate-java from 3.36.0 to 3.37.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/OpenFeign/feign/pull/3426">OpenFeign/feign#3426</a></li> <li>build(deps-dev): Bump org.openrewrite.maven:rewrite-maven-plugin from 6.41.0 to 6.42.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/OpenFeign/feign/pull/3424">OpenFeign/feign#3424</a></li> <li>build(deps): Bump org.hibernate.validator:hibernate-validator from 6.2.5.Final to 9.1.0.Final by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/OpenFeign/feign/pull/3425">OpenFeign/feign#3425</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/OpenFeign/feign/blob/master/CHANGELOG.md">io.github.openfeign:feign-micrometer's changelog</a>.</em></p> <blockquote> <h3>Version 13.14</h3> <ul> <li>Add <code>@Experimental</code> <code>MultiEncoder</code>, <code>PredicatedEncoder</code> and <code>EncoderPredicate</code>, letting a single client route each request to the right encoder. Encoders declare what they can handle by implementing <code>PredicatedEncoder</code>; anything else is paired with a predicate via <code>PredicatedEncoder.of(predicate, encoder)</code> or <code>MultiEncoder.builder()</code>. Encoders are consulted in the order given and a request nothing accepts fails with an <code>EncodeException</code> naming what was tried, so a default is an encoder guarded by <code>EncoderPredicate.any()</code> listed last. <code>FormEncoder</code> and <code>SpringFormEncoder</code> gain <code>createPredicatedFormEncoder()</code>, 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' <code>MeteredEncoder</code> forwards <code>canEncode</code> to the encoder it wraps. The <code>Encoder</code> interface is unchanged, so existing encoders keep working (<a href="https://redirect.github.com/openfeign/feign/issues/3485">#3485</a>).</li> <li>Add <code>@Experimental</code> <code>MultiDecoder</code>, <code>PredicatedDecoder</code> and <code>DecoderPredicate</code>, the decode-side counterpart, letting a single client route each response to the right decoder. Decoders declare what they can handle by implementing <code>PredicatedDecoder</code>; anything else is paired with a predicate via <code>PredicatedDecoder.of(predicate, decoder)</code> or <code>MultiDecoder.builder()</code>. Decoders are consulted in the order given and a response nothing accepts fails with a <code>DecodeException</code> naming what was tried, so a default is a decoder guarded by <code>DecoderPredicate.any()</code> 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 <code>OptionalDecoder</code> and the metrics modules' <code>MeteredDecoder</code> forward <code>canDecode</code> to the decoder they wrap. The <code>Decoder</code> interface is unchanged, so existing decoders keep working.</li> <li><code>JAXBContextFactory.withProperty</code> is now applied when creating Unmarshallers, not only Marshallers. Marshaller-only properties are skipped on unmarshal (<a href="https://redirect.github.com/openfeign/feign/issues/3056">#3056</a>).</li> <li>Add support for the HTTP QUERY method (RFC 10008) — safe, idempotent, and cacheable with a request body. <code>HttpCacheInterceptor</code> includes QUERY in its default cacheable set and incorporates a body hash into the cache key to reduce cross-body collisions.</li> <li>Flatten <code>feign-bom</code> on install/deploy so importing the BOM does not pull <code>feign-parent</code> dependency management (for example Jackson) into consumer projects such as Spring Boot.</li> </ul> <h3>Version 13.12</h3> <ul> <li><code>UrlencodedFormContentProcessor</code> now honors <code>CollectionFormat</code> from <code>@RequestLine</code>/<code>RequestTemplate</code> for array and collection values in <code>application/x-www-form-urlencoded</code> bodies.</li> </ul> <h3>Version 11.9</h3> <ul> <li><code>OkHttpClient</code> now implements <code>AsyncClient</code></li> </ul> <h3>Version 10.9</h3> <ul> <li>Configurable to disable streaming mode for Default client by verils (<a href="https://redirect.github.com/openfeign/feign/issues/1182">#1182</a>)</li> <li>Overriding query parameter name by boggard (<a href="https://redirect.github.com/openfeign/feign/issues/1184">#1184</a>)</li> <li>Internal feign metrics by velo:</li> <li>Dropwizard metrics 5 (<a href="https://redirect.github.com/openfeign/feign/issues/1181">#1181</a>)</li> <li>Micrometer (<a href="https://redirect.github.com/openfeign/feign/issues/1188">#1188</a>)</li> </ul> <h3>Version 10.8</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/OpenFeign/feign/commit/372ebee2551bb483bc7e55ea9768981b6d55a59d"><code>372ebee</code></a> prepare release 13.14</li> <li><a href="https://github.com/OpenFeign/feign/commit/f9ab405ee8d69390a205a5a73ec6240d4ab1bb1d"><code>f9ab405</code></a> Merge pull request <a href="https://redirect.github.com/openfeign/feign/issues/3517">#3517</a> from AzazelSensei/fix/skip-synthetic-bridge-methods</li> <li><a href="https://github.com/OpenFeign/feign/commit/a2676b8f9ac4e5b56b2daa0f124822dd00862cd8"><code>a2676b8</code></a> Merge pull request <a href="https://redirect.github.com/openfeign/feign/issues/3519">#3519</a> from arimu1/fix/3056-jaxb-unmarshaller-properties</li> <li><a href="https://github.com/OpenFeign/feign/commit/fcb4a97dbcffe6b56344c05f3ee2cc91221b5246"><code>fcb4a97</code></a> Merge pull request <a href="https://redirect.github.com/openfeign/feign/issues/3451">#3451</a> from alhudz/content-length-duplicate</li> <li><a href="https://github.com/OpenFeign/feign/commit/02b854907fc2e13b13801e3257f4156060a2d59f"><code>02b8549</code></a> Merge pull request <a href="https://redirect.github.com/openfeign/feign/issues/3526">#3526</a> from OpenFeign/fix/3525-multi-root-fields</li> <li><a href="https://github.com/OpenFeign/feign/commit/51d1692dd8d3817545ab3b4fecd3ba8f8848a5b4"><code>51d1692</code></a> Decode every root field of a GraphQL operation</li> <li><a href="https://github.com/OpenFeign/feign/commit/182624e0f9b1f9d04208a9c374b2fa2dbda5f3ad"><code>182624e</code></a> Merge pull request <a href="https://redirect.github.com/openfeign/feign/issues/3524">#3524</a> from OpenFeign/dependabot/maven/com.google.guava-gua...</li> <li><a href="https://github.com/OpenFeign/feign/commit/e1143548ea6c1b2d288be246a0c9d59b902ac8a1"><code>e114354</code></a> build(deps): Bump com.google.guava:guava from 33.6.0-jre to 33.7.1-jre</li> <li><a href="https://github.com/OpenFeign/feign/commit/a06b1a0b7f0cde00e170bc248314f921ccfbae38"><code>a06b1a0</code></a> Merge pull request <a href="https://redirect.github.com/openfeign/feign/issues/3523">#3523</a> from OpenFeign/dependabot/maven/tools.jackson-jackso...</li> <li><a href="https://github.com/OpenFeign/feign/commit/e90bdd56727ff9be6a841668d05e4462b2790b53"><code>e90bdd5</code></a> Merge pull request <a href="https://redirect.github.com/openfeign/feign/issues/3522">#3522</a> from OpenFeign/dependabot/maven/org.json-json-20260814</li> <li>Additional commits viewable in <a href="https://github.com/openfeign/feign/compare/13.13...13.14">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
