spring-projects/spring-framework
### [`v6.0.2`](https://togithub.com/spring-projects/spring-framework/releases/tag/v6.0.2)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v6.0.1...v6.0.2)
#### :star: New Features
- Rely on standard parameter name resolution in Bean Validation 3.0 [#29566](https://togithub.com/spring-projects/spring-framework/issues/29566)
#### :lady_beetle: Bug Fixes
- ResponseStatusException does not use the reason to set the "detail" field [#29567](https://togithub.com/spring-projects/spring-framework/issues/29567)
- LocalVariableTableParameterNameDiscoverer logs many warnings with Hibernate validation [#29563](https://togithub.com/spring-projects/spring-framework/issues/29563)
#### :notebook_with_decorative_cover: Documentation
- org.springframework.web.multipart.commons not found [#29562](https://togithub.com/spring-projects/spring-framework/issues/29562)
### [`v6.0.1`](https://togithub.com/spring-projects/spring-framework/releases/tag/v6.0.1)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v6.0.0...v6.0.1)
##### :star: New Features
- Make `SourceHttpMessageConverter` optional [#29535](https://togithub.com/spring-projects/spring-framework/issues/29535)
- Deprecate `LocalVariableTableParameterNameDiscoverer` completely (avoiding its exposure in native images) [#29531](https://togithub.com/spring-projects/spring-framework/pull/29531)
- Make GeneratorStrategy.generate unreachable on native [#29521](https://togithub.com/spring-projects/spring-framework/pull/29521)
- Update `LogAdapter` to allow build-time code removal [#29506](https://togithub.com/spring-projects/spring-framework/pull/29506)
##### :lady_beetle: Bug Fixes
- Unhandled exceptions should mark Servlet observation outcome as error [#29512](https://togithub.com/spring-projects/spring-framework/issues/29512)
##### :notebook_with_decorative_cover: Documentation
- Broken link in documentation section 6.10 [#29554](https://togithub.com/spring-projects/spring-framework/issues/29554)
- Fix Javadoc link text in BindingResult [#29551](https://togithub.com/spring-projects/spring-framework/pull/29551)
- Fix some typos in Kotlin WebClient example code [#29538](https://togithub.com/spring-projects/spring-framework/pull/29538)
- Fix link to Bean Utils Light Library in BeanUtils Javadoc [#29534](https://togithub.com/spring-projects/spring-framework/pull/29534)
- Fix link to WebFlux section in reference manual [#29525](https://togithub.com/spring-projects/spring-framework/pull/29525)
- Document RuntimeHints testing strategies [#29523](https://togithub.com/spring-projects/spring-framework/issues/29523)
- Reorganize and modularize the Testing chapter in the reference manual [#29522](https://togithub.com/spring-projects/spring-framework/issues/29522)
- Document switch to `SQLExceptionSubclassTranslator` in the upgrade guide [#29518](https://togithub.com/spring-projects/spring-framework/issues/29518)
- Update documentation to mention Java 17+ baseline [#29514](https://togithub.com/spring-projects/spring-framework/issues/29514)
- Link to Spring WebFlux section is broken [#29513](https://togithub.com/spring-projects/spring-framework/issues/29513)
- Update javadoc of Jackson-based decoders to reflect 2.14 baseline [#29508](https://togithub.com/spring-projects/spring-framework/pull/29508)
- Code example has callout from a different code example [#29505](https://togithub.com/spring-projects/spring-framework/issues/29505)
- Code listing callouts are displayed incorrectly in core-beans.adoc [#29457](https://togithub.com/spring-projects/spring-framework/issues/29457)
- Fix a syntax error in an XML listing in core-validation.adoc [#29456](https://togithub.com/spring-projects/spring-framework/pull/29456)
##### :hammer: Dependency Upgrades
- Upgrade to Jackson 2.14.1 [#29539](https://togithub.com/spring-projects/spring-framework/issues/29539)
- Upgrade to Kotlin 1.7.21 [#29543](https://togithub.com/spring-projects/spring-framework/issues/29543)
##### :heart: Contributors
Thank you to all the contributors who worked on this release:
[@Encyclopedias](https://togithub.com/Encyclopedias), [@andregasser](https://togithub.com/andregasser), [@davidcostanzo](https://togithub.com/davidcostanzo), [@divcon](https://togithub.com/divcon), [@jiangying000](https://togithub.com/jiangying000), [@mdeinum](https://togithub.com/mdeinum), and [@wilkinsona](https://togithub.com/wilkinsona)
### [`v6.0.0`](https://togithub.com/spring-projects/spring-framework/releases/tag/v6.0.0)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v5.3.24...v6.0.0)
See [What's New in Spring Framework 6.x](https://togithub.com/spring-projects/spring-framework/wiki/What%27s-New-in-Spring-Framework-6.x) and [Upgrading to Spring Framework 6.x](https://togithub.com/spring-projects/spring-framework/wiki/Upgrading-to-Spring-Framework-6.x) for upgrade instructions and details of new features.
#### :star: New Features
- Avoid direct URL construction and URL equality checks [#29486](https://togithub.com/spring-projects/spring-framework/issues/29486)
- Simplify creating RFC 7807 responses from functional endpoints [#29462](https://togithub.com/spring-projects/spring-framework/issues/29462)
- Allow test classes to provide runtime hints via declarative mechanisms [#29455](https://togithub.com/spring-projects/spring-framework/issues/29455)
#### :notebook_with_decorative_cover: Documentation
- Align javadoc of DefaultParameterNameDiscoverer with its behavior [#29494](https://togithub.com/spring-projects/spring-framework/pull/29494)
- Document AOT support in the TestContext framework [#29482](https://togithub.com/spring-projects/spring-framework/issues/29482)
- Document Ahead of Time processing in the reference guide [#29350](https://togithub.com/spring-projects/spring-framework/issues/29350)
#### :hammer: Dependency Upgrades
- Upgrade to Reactor 2022.0.0 [#29465](https://togithub.com/spring-projects/spring-framework/issues/29465)
#### :heart: Contributors
Thank you to all the contributors who worked on this release:
[@ophiuhus](https://togithub.com/ophiuhus) and [@wilkinsona](https://togithub.com/wilkinsona)
### [`v5.3.24`](https://togithub.com/spring-projects/spring-framework/releases/tag/v5.3.24)
##### :star: New Features
- Avoid reflection for annotation method invocations [#29448](https://togithub.com/spring-projects/spring-framework/issues/29448)
- Avoid unnecessary allocations in StompDecoder#unescape [#29443](https://togithub.com/spring-projects/spring-framework/pull/29443)
- Avoid String allocations in MediaType.checkParameters [#29428](https://togithub.com/spring-projects/spring-framework/pull/29428)
- Reduce allocations caused by producible media types [#29412](https://togithub.com/spring-projects/spring-framework/pull/29412)
- Provide optional SimpleBeanInfoFactory for better introspection performance in 5.3.x [#29330](https://togithub.com/spring-projects/spring-framework/issues/29330)
- Filter out `null` WebSocket session attributes [#29315](https://togithub.com/spring-projects/spring-framework/issues/29315)
- Introduce TestSocketUtils as a replacement for SocketUtils [#29132](https://togithub.com/spring-projects/spring-framework/pull/29132)
- Avoid Commons Logging API for using LoggingCacheErrorHandler with a custom logger [#28678](https://togithub.com/spring-projects/spring-framework/pull/28678)
##### :lady_beetle: Bug Fixes
- Missing SessionFactory property (filter AutoCloseable from PropertyDescriptors) [#29480](https://togithub.com/spring-projects/spring-framework/issues/29480)
- SpEL ternary and Elvis expressions are missing enclosing parentheses in toStringAST() [#29463](https://togithub.com/spring-projects/spring-framework/issues/29463)
- If-Unmodified-Since header check removes Last-Modified and Etag headers from response, even if condition passes [#29362](https://togithub.com/spring-projects/spring-framework/issues/29362)
- Annotation searches fail for non-public repeatable annotations [#29301](https://togithub.com/spring-projects/spring-framework/issues/29301)
- AbstractBeanFactory's interaction with BeanPostProcessorCacheAwareList is not fully thread-safe [#29299](https://togithub.com/spring-projects/spring-framework/issues/29299)
- WebTestClient cannot assert custom HTTP status code [#29283](https://togithub.com/spring-projects/spring-framework/issues/29283)
- Body token not expected error when trying to upload a large multipart file [#29227](https://togithub.com/spring-projects/spring-framework/issues/29227)
- Avoid resizing of Maps created by CollectionUtils [#29190](https://togithub.com/spring-projects/spring-framework/pull/29190)
- DefaultWebClient logging sensitive information in URI [#29148](https://togithub.com/spring-projects/spring-framework/issues/29148)
- Fix SimpleMailMessage nullability annotations [#29139](https://togithub.com/spring-projects/spring-framework/pull/29139)
- Webflux fails to apply the rule for controller methods returning void to kotlin suspend functions returning Unit [#27629](https://togithub.com/spring-projects/spring-framework/issues/27629)
- Resource.isFile() return true when the resource path actually not exists [#26707](https://togithub.com/spring-projects/spring-framework/issues/26707)
- AnnotatedElementUtils does not find merged repeatable annotations on other repeatable annotations [#20279](https://togithub.com/spring-projects/spring-framework/issues/20279)
##### :notebook_with_decorative_cover: Documentation
- Fix two typos in integration.adoc and webflux.adoc [#29469](https://togithub.com/spring-projects/spring-framework/pull/29469)
- Fix typo: "as describe in" -> "as described in" [#29393](https://togithub.com/spring-projects/spring-framework/pull/29393)
- Fix typos [#29364](https://togithub.com/spring-projects/spring-framework/pull/29364)
- Correct documentation for "other return values" from a web controller method [#29349](https://togithub.com/spring-projects/spring-framework/issues/29349)
- Document how to use WebJars without `webjars-locator-core` dependency [#29322](https://togithub.com/spring-projects/spring-framework/issues/29322)
- Update RestTemplate Javadoc with regards to setting interceptors on startup vs at runtime [#29311](https://togithub.com/spring-projects/spring-framework/issues/29311)
- Document how to switch to the default set of TestExecutionListeners [#29281](https://togithub.com/spring-projects/spring-framework/issues/29281)
- Document limitation of AopTestUtils.getUltimateTargetObject() regarding non-static TargetSource [#29276](https://togithub.com/spring-projects/spring-framework/issues/29276)
- Fix typo in WebSocket reference doc regarding subscription header [#29228](https://togithub.com/spring-projects/spring-framework/pull/29228)
- Fix MockMvc sample setup [#29201](https://togithub.com/spring-projects/spring-framework/pull/29201)
##### :hammer: Dependency Upgrades
- Upgrade to Reactor 2020.0.25 [#29464](https://togithub.com/spring-projects/spring-framework/issues/29464)
##### :heart: Contributors
We'd like to thank all the contributors who worked on this release!
- [@sangmin7648](https://togithub.com/sangmin7648)
- [@izeye](https://togithub.com/izeye)
- [@dreis2211](https://togithub.com/dreis2211)
- [@catmug](https://togithub.com/catmug)
- [@inabajunmr](https://togithub.com/inabajunmr)
- [@iamgd67](https://togithub.com/iamgd67)
- [@davidcostanzo](https://togithub.com/davidcostanzo)
- [@jprinet](https://togithub.com/jprinet)
- [@stgerhardt](https://togithub.com/stgerhardt)
- [@onobc](https://togithub.com/onobc)
- [@vpavic](https://togithub.com/vpavic)
### [`v5.3.23`](https://togithub.com/spring-projects/spring-framework/releases/tag/v5.3.23)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v5.3.22...v5.3.23)
##### :star: New Features
- Introduce AnnotationUtils.isSynthesizedAnnotation(Annotation) [#29054](https://togithub.com/spring-projects/spring-framework/issues/29054)
- Introduce createContext() factory method in AbstractGenericWebContextLoader [#28983](https://togithub.com/spring-projects/spring-framework/issues/28983)
- Support TreeSet collection type in CollectionFactory.createCollection() without using reflection [#28949](https://togithub.com/spring-projects/spring-framework/pull/28949)
- Document when RequestEntity.getUrl() throws an UnsupportedOperationException [#28930](https://togithub.com/spring-projects/spring-framework/issues/28930)
- Deprecate NestedIOException [#28929](https://togithub.com/spring-projects/spring-framework/issues/28929)
- Make isConnected() in WebSocketConnectionManager public [#28785](https://togithub.com/spring-projects/spring-framework/pull/28785)
- Expose headers from STOMP RECEIPT frame to registered callbacks [#28715](https://togithub.com/spring-projects/spring-framework/pull/28715)
- Make WebClientException serializable [#28321](https://togithub.com/spring-projects/spring-framework/issues/28321)
##### :lady_beetle: Bug Fixes
- Ordering inconsistency with beans defined in parent context [#29105](https://togithub.com/spring-projects/spring-framework/issues/29105)
- RelativeRedirectResponseWrapper does not commit response in sendRedirect [#29050](https://togithub.com/spring-projects/spring-framework/pull/29050)
- MockServerContainerContextCustomizerFactory does not support `@Nested` tests [#29037](https://togithub.com/spring-projects/spring-framework/issues/29037)
- Request to improve KotlinSerializationJsonHttpMessageConverter logic in RestTemplate [#29008](https://togithub.com/spring-projects/spring-framework/issues/29008)
- WebFlux: multipart requests hang sometimes [#28963](https://togithub.com/spring-projects/spring-framework/issues/28963)
- DataBufferUtils.write(Publisher, Path) loses context [#28933](https://togithub.com/spring-projects/spring-framework/issues/28933)
- connectionTimeOut and readTimeout not working on UrlResource [#28909](https://togithub.com/spring-projects/spring-framework/issues/28909)
- SockJsServiceRegistration#setSupressCors has a typo and should be deprecated [#28853](https://togithub.com/spring-projects/spring-framework/pull/28853)
- RenderingResponse does not set status code on redirect views [#28839](https://togithub.com/spring-projects/spring-framework/issues/28839)
- Avoid IllegalArgumentException when setting WebSocket error status [#28836](https://togithub.com/spring-projects/spring-framework/pull/28836)
- Loss of context path after using ServerRequest.from [#28820](https://togithub.com/spring-projects/spring-framework/issues/28820)
- ResponseCookie does not declare nullability annotations consistently for domain and path [#28780](https://togithub.com/spring-projects/spring-framework/pull/28780)
##### :notebook_with_decorative_cover: Documentation
- Fix typo in data-access section [#29048](https://togithub.com/spring-projects/spring-framework/pull/29048)
- Correct description of `@RequestParam` with WebFlux [#28944](https://togithub.com/spring-projects/spring-framework/pull/28944)
- Fix broken kdoc-api links in kotlin.adoc [#28908](https://togithub.com/spring-projects/spring-framework/pull/28908)
- Fix typos in Javadoc of class AbstractEncoder [#28885](https://togithub.com/spring-projects/spring-framework/pull/28885)
- Fix links in Javadoc and reference docs [#28876](https://togithub.com/spring-projects/spring-framework/pull/28876)
- Add missing closing parenthesis in reference doc [#28867](https://togithub.com/spring-projects/spring-framework/pull/28867)
- Fix typos in Javadoc, reference docs, and code [#28822](https://togithub.com/spring-projects/spring-framework/pull/28822)
- Replace use of the `` HTML tag in Javadoc [#28819](https://togithub.com/spring-projects/spring-framework/pull/28819)
- Fix broken link in rsocket documentation [#28817](https://togithub.com/spring-projects/spring-framework/pull/28817)
- Clarify docs on JNDI properties in Servlet environment [#28488](https://togithub.com/spring-projects/spring-framework/pull/28488)
- Improve documentation of Caching annotations [#28183](https://togithub.com/spring-projects/spring-framework/pull/28183)
##### :hammer: Dependency Upgrades
- Upgrade to Reactor 2020.0.23 [#29129](https://togithub.com/spring-projects/spring-framework/issues/29129)
##### :heart: Contributors
We'd like to thank all the contributors who worked on this release!
- [@boahc077](https://togithub.com/boahc077)
- [@1993heqiang](https://togithub.com/1993heqiang)
- [@luvarqpp](https://togithub.com/luvarqpp)
- [@arend-von-reinersdorff](https://togithub.com/arend-von-reinersdorff)
- [@jensdietrich](https://togithub.com/jensdietrich)
- [@wilkinsona](https://togithub.com/wilkinsona)
- [@npriebe](https://togithub.com/npriebe)
- [@vpavic](https://togithub.com/vpavic)
- [@jupiterhub](https://togithub.com/jupiterhub)
- [@izeye](https://togithub.com/izeye)
- [@napstr](https://togithub.com/napstr)
- [@marcwrobel](https://togithub.com/marcwrobel)
- [@arvyy](https://togithub.com/arvyy)
- [@jbotuck](https://togithub.com/jbotuck)
- [@chanhyeong](https://togithub.com/chanhyeong)
- [@yuezk](https://togithub.com/yuezk)
- [@edfeff](https://togithub.com/edfeff)
- [@adrianbob](https://togithub.com/adrianbob)
- [@FlorianKirmaier](https://togithub.com/FlorianKirmaier)
- [@meloning](https://togithub.com/meloning)
### [`v5.3.22`](https://togithub.com/spring-projects/spring-framework/releases/tag/v5.3.22)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v5.3.21...v5.3.22)
##### :star: New Features
- Improve regex "." matching for URL paths [#28815](https://togithub.com/spring-projects/spring-framework/issues/28815)
- Spring JDBC does not recognize LocalDate and LocalDateTime in javaType to sqlType Mapping [#28778](https://togithub.com/spring-projects/spring-framework/issues/28778)
- ResolvableType.forInstance should return NONE for null instance [#28776](https://togithub.com/spring-projects/spring-framework/issues/28776)
- Correctly identify MaxUploadSizeExceededException through keywords in message from Jetty 9.4.x [#28759](https://togithub.com/spring-projects/spring-framework/pull/28759)
- Introduce StringUtils.trimAllWhitespace(CharSequence) [#28757](https://togithub.com/spring-projects/spring-framework/issues/28757)
- Trim string input in Converters where whitespace is irrelevant [#28756](https://togithub.com/spring-projects/spring-framework/issues/28756)
- Trim string input in PropertyEditors where whitespace is irrelevant [#28755](https://togithub.com/spring-projects/spring-framework/issues/28755)
- Improve diagnostics for CGLIB ClassLoader issues on Java 9+ [#28747](https://togithub.com/spring-projects/spring-framework/issues/28747)
- Create well-known non-interface types in CollectionFactory without using reflection [#28718](https://togithub.com/spring-projects/spring-framework/issues/28718)
- Revise internals of LoggingCacheErrorHandler [#28672](https://togithub.com/spring-projects/spring-framework/issues/28672)
- Simplify creation of LoggingCacheErrorHandler with logged stacktrace [#28670](https://togithub.com/spring-projects/spring-framework/pull/28670)
- Fix DataSourceUtils inconsistent exception handling [#28669](https://togithub.com/spring-projects/spring-framework/pull/28669)
- Introduce lenient parsing in DataSize regarding whitespace [#28643](https://togithub.com/spring-projects/spring-framework/issues/28643)
- Support adding rather than replacing modules in Jackson2ObjectMapperBuilder [#28633](https://togithub.com/spring-projects/spring-framework/issues/28633)
- Add `MockMvcRequestBuilders.multipart(HttpMethod, String, Object...)` [#28631](https://togithub.com/spring-projects/spring-framework/pull/28631)
- Avoid parsing request body in DispatcherServlet for "parameters={masked}" log message [#28587](https://togithub.com/spring-projects/spring-framework/issues/28587)
- Avoid synchronization in AbstractAspectJAdvice#calculateArgumentBindings [#26377](https://togithub.com/spring-projects/spring-framework/issues/26377)
##### :lady_beetle: Bug Fixes
- WebFlux multipart temporary file not deleted when the client disconnects early [#28740](https://togithub.com/spring-projects/spring-framework/issues/28740)
- Ensure channelExecutors and taskScheduler in STOMP WebSocket config are qualified [#28736](https://togithub.com/spring-projects/spring-framework/pull/28736)
- MockHttpServletResponse addHeader does not allow Comment part with Set-Cookie header [#28730](https://togithub.com/spring-projects/spring-framework/issues/28730)
- Meta-annotations are unnecessarily synthesized in MergedAnotations [#28704](https://togithub.com/spring-projects/spring-framework/issues/28704)
- `GenericApplicationContext` does not honor `ProtocolResolver` when a resource loader is set via `setResourceLoader()` [#28703](https://togithub.com/spring-projects/spring-framework/issues/28703)
- R2DBC: `@Transactional`(readOnly) is applied to the connection before the transaction has begun [#28610](https://togithub.com/spring-projects/spring-framework/issues/28610)
##### :notebook_with_decorative_cover: Documentation
- Fix Kotlin code snippets language [#28810](https://togithub.com/spring-projects/spring-framework/issues/28810)
- Fix typos in reference docs and project documentation [#28805](https://togithub.com/spring-projects/spring-framework/pull/28805)
- Fix and improve Javadoc in spring-beans and spring-aop [#28803](https://togithub.com/spring-projects/spring-framework/pull/28803)
- Fix and improve Javadoc in spring-core and spring-context [#28802](https://togithub.com/spring-projects/spring-framework/pull/28802)
- Fix and improve Javadoc in spring-messaging, spring-jms and spring-expression [#28800](https://togithub.com/spring-projects/spring-framework/pull/28800)
- Fix and improve Javadoc in spring-r2dbc, spring-oxm, spring-orm and spring-jdbc [#28796](https://togithub.com/spring-projects/spring-framework/pull/28796)
- Fix and improve Javadoc in spring-test [#28795](https://togithub.com/spring-projects/spring-framework/pull/28795)
- Fix and improve Javadoc in spring-tx [#28794](https://togithub.com/spring-projects/spring-framework/pull/28794)
- Fix and improve Javadoc in spring-web [#28791](https://togithub.com/spring-projects/spring-framework/pull/28791)
- Fix and improve Javadoc in spring-webflux [#28790](https://togithub.com/spring-projects/spring-framework/pull/28790)
- Fix and improve Javadoc in spring-webmvc [#28789](https://togithub.com/spring-projects/spring-framework/pull/28789)
- Fix and improve Javadoc in spring-websocket [#28788](https://togithub.com/spring-projects/spring-framework/pull/28788)
- Fix Kotlin example for defines a custom `@Production` [#28680](https://togithub.com/spring-projects/spring-framework/issues/28680)
- Fix a typo in ResponseEntity documentation [#28647](https://togithub.com/spring-projects/spring-framework/issues/28647)
- Document that Kotlin inline classes are not supported yet [#28642](https://togithub.com/spring-projects/spring-framework/issues/28642)
- Refine `@Required` Kotlin documentation to use annotation use site targets [#28630](https://togithub.com/spring-projects/spring-framework/issues/28630)
- Fix Kotlin example for `@ComponentScan` basePackages attribute [#28628](https://togithub.com/spring-projects/spring-framework/issues/28628)
- Kotlin examples for setter injection incorrectly use field injection [#28596](https://togithub.com/spring-projects/spring-framework/issues/28596)
- Fix expectations in MockMvc Kotlin documentation [#28301](https://togithub.com/spring-projects/spring-framework/issues/28301)
##### :hammer: Dependency Upgrades
- Update to Bouncycastle 1.71 [#28636](https://togithub.com/spring-projects/spring-framework/pull/28636)
- Upgrade to Reactor 2020.0.21 [#28765](https://togithub.com/spring-projects/spring-framework/issues/28765)
##### :heart: Contributors
We'd like to thank all the contributors who worked on this release!
- [@jasonjiang9527](https://togithub.com/jasonjiang9527)
- [@izeye](https://togithub.com/izeye)
- [@marcwrobel](https://togithub.com/marcwrobel)
- [@larsgrefer](https://togithub.com/larsgrefer)
- [@jprinet](https://togithub.com/jprinet)
- [@vikeychen](https://togithub.com/vikeychen)
- [@kacperkrzyzak](https://togithub.com/kacperkrzyzak)
- [@kevin0x90](https://togithub.com/kevin0x90)
- [@vpavic](https://togithub.com/vpavic)
- [@CodeInDreams](https://togithub.com/CodeInDreams)
- [@4ra1n](https://togithub.com/4ra1n)
### [`v5.3.21`](https://togithub.com/spring-projects/spring-framework/releases/tag/v5.3.21)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v5.3.20...v5.3.21)
#### :star: New Features
- Expose ThreadPoolTaskExecutor queue size and capacity for metrics [#28583](https://togithub.com/spring-projects/spring-framework/pull/28583)
- Lazily initialize DataSize.PATTERN [#28560](https://togithub.com/spring-projects/spring-framework/issues/28560)
- MockMvcWebTestClient forces HTTP POST for multipart requests [#28545](https://togithub.com/spring-projects/spring-framework/issues/28545)
- Support for CGLIB BeanCopier utility on JDK 17 [#28530](https://togithub.com/spring-projects/spring-framework/issues/28530)
- Allow changes to `org.springframework.web` log category at runtime [#28477](https://togithub.com/spring-projects/spring-framework/issues/28477)
#### :lady_beetle: Bug Fixes
- Avoid eager instantiation of non-singleton FactoryBean in getBeanNamesForType [#28616](https://togithub.com/spring-projects/spring-framework/pull/28616)
- ObjectToObjectConverter doesn't consider return type of static methods [#28609](https://togithub.com/spring-projects/spring-framework/issues/28609)
- Charset for input stream ignored in Jaxb2XmlDecoder [#28599](https://togithub.com/spring-projects/spring-framework/issues/28599)
- Support RouterFunction ordering in Spring MVC [#28595](https://togithub.com/spring-projects/spring-framework/issues/28595)
- Always construct new exception on error in DefaultWebClient [#28550](https://togithub.com/spring-projects/spring-framework/pull/28550)
- HierarchicalUriComponents::getPort() throws NumberFormatException with invalid port in URI [#28521](https://togithub.com/spring-projects/spring-framework/issues/28521)
- Cannot serve static resources with spaces from "file:" location when using `PathPattern` and UrlPathHelper is set to not decode [#27791](https://togithub.com/spring-projects/spring-framework/issues/27791)
#### :notebook_with_decorative_cover: Documentation
- Fix code sample for nested router functions [#28603](https://togithub.com/spring-projects/spring-framework/issues/28603)
- Fix Kotlin example for `@Required` [#28590](https://togithub.com/spring-projects/spring-framework/issues/28590)
- Fix Kotlin example for dependency injection with static factory method [#28589](https://togithub.com/spring-projects/spring-framework/issues/28589)
- Update documentation regarding nested test class support [#28579](https://togithub.com/spring-projects/spring-framework/issues/28579)
- Update reference docs to use PropertySourcesPlaceholderConfigurer [#28572](https://togithub.com/spring-projects/spring-framework/pull/28572)
- Fix typo in webflux.adoc [#28542](https://togithub.com/spring-projects/spring-framework/pull/28542)
- Fix Javadoc for DatabaseClient [#28520](https://togithub.com/spring-projects/spring-framework/pull/28520)
- CachingConnectionFactory with WebLogic JMS not caching producers nor consumers [#28500](https://togithub.com/spring-projects/spring-framework/issues/28500)
- Fix Kotlin example for static factory method [#28399](https://togithub.com/spring-projects/spring-framework/issues/28399)
#### :hammer: Dependency Upgrades
- Upgrade to Reactor 2020.0.20 [#28612](https://togithub.com/spring-projects/spring-framework/issues/28612)
#### :heart: Contributors
We'd like to thank all the contributors who worked on this release!
- [@rguihard](https://togithub.com/rguihard)
- [@hsteinmueller](https://togithub.com/hsteinmueller)
- [@gorisanson](https://togithub.com/gorisanson)
- [@fsgonz](https://togithub.com/fsgonz)
- [@pokab](https://togithub.com/pokab)
- [@eltociear](https://togithub.com/eltociear)
### [`v5.3.20`](https://togithub.com/spring-projects/spring-framework/releases/tag/v5.3.20)
##### :star: New Features
- Refine CachedIntrospectionResults property introspection [#28445](https://togithub.com/spring-projects/spring-framework/issues/28445)
- Improve tests and Javadoc on binding to a property of type javax.servlet.Part [#27830](https://togithub.com/spring-projects/spring-framework/pull/27830)
- WritableResource doesn't have parity with Resource in `@Value` etc. \[SPR-10656] [#15284](https://togithub.com/spring-projects/spring-framework/issues/15284)
##### :lady_beetle: Bug Fixes
- Ignore invalid STOMP frame [#28443](https://togithub.com/spring-projects/spring-framework/issues/28443)
- `@ModelAttribute` name attribute is not supported in WebFlux [#28423](https://togithub.com/spring-projects/spring-framework/issues/28423)
- Fix BindingResult error when ModelAttribute has custom name in WebFlux [#28422](https://togithub.com/spring-projects/spring-framework/pull/28422)
- Request body deserialization failures are not captured by exception handlers in WebFlux [#28155](https://togithub.com/spring-projects/spring-framework/issues/28155)
##### :notebook_with_decorative_cover: Documentation
- Remove Log4J initialization from package-info.java in spring-web [#28420](https://togithub.com/spring-projects/spring-framework/pull/28420)
- Remove Log4J configurer from package-info.java in spring-core [#28411](https://togithub.com/spring-projects/spring-framework/pull/28411)
- Fix github issue reference in RequestMappingHandlerMapping [#28372](https://togithub.com/spring-projects/spring-framework/pull/28372)
- Add Javadoc since tags for GraphQL constants [#28369](https://togithub.com/spring-projects/spring-framework/pull/28369)
- Fix method reference in Kotlin documentation [#28340](https://togithub.com/spring-projects/spring-framework/pull/28340)
##### :hammer: Dependency Upgrades
- Upgrade to ASM 9.3 [#28390](https://togithub.com/spring-projects/spring-framework/issues/28390)
- Upgrade to Reactor 2020.0.19 [#28437](https://togithub.com/spring-projects/spring-framework/issues/28437)
##### :heart: Contributors
We'd like to thank all the contributors who worked on this release!
- [@izeye](https://togithub.com/izeye)
- [@koenpunt](https://togithub.com/koenpunt)
- [@missingdays](https://togithub.com/missingdays)
- [@zhangmingqi09](https://togithub.com/zhangmingqi09)
- [@binchoo](https://togithub.com/binchoo)
- [@gorisanson](https://togithub.com/gorisanson)
- [@jprinet](https://togithub.com/jprinet)
- [@nealshan](https://togithub.com/nealshan)
- [@bougar](https://togithub.com/bougar)
### [`v5.3.19`](https://togithub.com/spring-projects/spring-framework/releases/tag/v5.3.19)
##### :star: New Features
- Remove DNS lookups during websocket connection initiation [#28280](https://togithub.com/spring-projects/spring-framework/issues/28280)
- Add application/graphql+json Media type and MIME type constants [#28271](https://togithub.com/spring-projects/spring-framework/issues/28271)
- Fix debug log for no matching acceptableTypes [#28116](https://togithub.com/spring-projects/spring-framework/pull/28116)
- Provide support for post-processing a LocalValidatorFactoryBean's validator Configuration without requiring sub-classing [#27956](https://togithub.com/spring-projects/spring-framework/issues/27956)
##### :lady_beetle: Bug Fixes
- Improve documentation and matching algorithm in data binders [#28333](https://togithub.com/spring-projects/spring-framework/issues/28333)
- NotWritablePropertyException when attempting to declaratively configure ClassLoader properties [#28269](https://togithub.com/spring-projects/spring-framework/issues/28269)
- BeanPropertyRowMapper's support for direct column name matches is missing in DataClassRowMapper [#28243](https://togithub.com/spring-projects/spring-framework/issues/28243)
- AbstractListenerReadPublisher does not call `ServletOutputStream::isReady()` when reading chunked data across network packets [#28241](https://togithub.com/spring-projects/spring-framework/issues/28241)
- ResponseEntity objects are accumulated in ConcurrentReferenceHashMap [#28232](https://togithub.com/spring-projects/spring-framework/issues/28232)
- Lambda proxy generation fix causes BeanNotOfRequiredTypeException [#28209](https://togithub.com/spring-projects/spring-framework/issues/28209)
- CodeGenerationException thrown when using AnnotationMBeanExporter on JDK 17 [#28138](https://togithub.com/spring-projects/spring-framework/issues/28138)
##### :hammer: Dependency Upgrades
- Upgrade to Reactor 2020.0.18 [#28329](https://togithub.com/spring-projects/spring-framework/issues/28329)
##### :heart: Contributors
We'd like to thank all the contributors who worked on this release!
- [@GatinMI](https://togithub.com/GatinMI)
### [`v5.3.18`](https://togithub.com/spring-projects/spring-framework/releases/tag/v5.3.18)
##### :star: New Features
- Restrict access to property paths on Class references [#28261](https://togithub.com/spring-projects/spring-framework/issues/28261)
- Introduce cancel(boolean mayInterruptIfRunning) in ScheduledTask [#28233](https://togithub.com/spring-projects/spring-framework/issues/28233)
##### :lady_beetle: Bug Fixes
- Move off deprecated API in `SessionTransactionData` [#28234](https://togithub.com/spring-projects/spring-framework/issues/28234)
##### :notebook_with_decorative_cover: Documentation
- Introduce warnings in documentation of SerializationUtils [#28246](https://togithub.com/spring-projects/spring-framework/issues/28246)
- Update copyright date in reference manual [#28237](https://togithub.com/spring-projects/spring-framework/issues/28237)
- `@Transactional` test does not execute all JPA lifecycle callback methods [#28228](https://togithub.com/spring-projects/spring-framework/issues/28228)
##### :heart: Contributors
We'd like to thank all the contributors who worked on this release!
- [@izeye](https://togithub.com/izeye)
- [@quaff](https://togithub.com/quaff)
### [`v5.3.17`](https://togithub.com/spring-projects/spring-framework/releases/tag/v5.3.17)
#### :star: New Features
- Using DataClassRowMapper causes "No property found for column" debug messages in logs [#28179](https://togithub.com/spring-projects/spring-framework/issues/28179)
- Improve diagnostics in SpEL for large array creation [#28145](https://togithub.com/spring-projects/spring-framework/issues/28145)
- Support custom HTTP status in client-side REST testing support [#28105](https://togithub.com/spring-projects/spring-framework/pull/28105)
- AsyncRestTemplate logging too verbose [#28049](https://togithub.com/spring-projects/spring-framework/issues/28049)
#### :lady_beetle: Bug Fixes
- java.lang.NoClassDefFoundError: org/springframework/cglib/beans/BeanMapEmitter [#28110](https://togithub.com/spring-projects/spring-framework/issues/28110)
- CronExpression fails to calculate properly next execution when running on the day of winter daylight saving time [#28095](https://togithub.com/spring-projects/spring-framework/issues/28095)
- Private init/destroy method may be invoked twice [#28083](https://togithub.com/spring-projects/spring-framework/issues/28083)
- MappingJacksonValue and Jackson2CodecSupport#registerObjectMappersForType do not work together [#28045](https://togithub.com/spring-projects/spring-framework/issues/28045)
- SpEL fails to recover from error during MIXED mode compilation [#28043](https://togithub.com/spring-projects/spring-framework/issues/28043)
- When returning a ResponseEntity with a Flux while the function is suspended, it fails to encode the body [#27809](https://togithub.com/spring-projects/spring-framework/issues/27809)
#### :notebook_with_decorative_cover: Documentation
- Improve documentation for `@EnabledIf` and `@DisabledIf` test support [#28157](https://togithub.com/spring-projects/spring-framework/issues/28157)
- Links to Spring Security are broken in the reference guide [#28135](https://togithub.com/spring-projects/spring-framework/issues/28135)
- Document that transaction rollback rules may result in unintentional matches [#28125](https://togithub.com/spring-projects/spring-framework/issues/28125)
- Improve documentation for TestContext events [#27757](https://togithub.com/spring-projects/spring-framework/issues/27757)
- Clarify behavior for generics support in BeanUtils.copyProperties [#27259](https://togithub.com/spring-projects/spring-framework/issues/27259)
#### :hammer: Dependency Upgrades
- Upgrade to Reactor 2020.0.17 [#28064](https://togithub.com/spring-projects/spring-framework/issues/28064)
#### :heart: Contributors
We'd like to thank all the contributors who worked on this release!
- [@gorisanson](https://togithub.com/gorisanson)
- [@danthonywalker](https://togithub.com/danthonywalker)
- [@AzZureman](https://togithub.com/AzZureman)
### [`v5.3.16`](https://togithub.com/spring-projects/spring-framework/releases/tag/v5.3.16)
##### :star: New Features
- Deprecate SocketUtils [#28052](https://togithub.com/spring-projects/spring-framework/issues/28052)
- Add convenience factory method for ManagedList, ManagedSet and ManagedMap [#28026](https://togithub.com/spring-projects/spring-framework/issues/28026)
- Synthesized annotation toString() doesn't match non-synthesized annotation on Java 9+ [#28015](https://togithub.com/spring-projects/spring-framework/issues/28015)
- Add support for strict JSON comparison in WebTestClient [#27993](https://togithub.com/spring-projects/spring-framework/pull/27993)
- Improve log message when searching for default executor for async processing [#27983](https://togithub.com/spring-projects/spring-framework/issues/27983)
- Inconsistent behaviour in spring-orm between EntityManagerFactoryUtils.closeEntityManager() and SessionFactoryUtils.closeSession() [#27972](https://togithub.com/spring-projects/spring-framework/issues/27972)
- Spring AOP cannot generate proxy for lambda on Java 16+ [#27971](https://togithub.com/spring-projects/spring-framework/issues/27971)
- RestTemplate reading Json prohibits JDK HttpClient connection reuse (keep-alive) [#27969](https://togithub.com/spring-projects/spring-framework/issues/27969)
- Deprecate AsyncTaskExecutor.execute(Runnable task, long startTimeout) [#27959](https://togithub.com/spring-projects/spring-framework/issues/27959)
- Add CacheErrorHandler implementation that logs exceptions rather than rethrowing them [#27826](https://togithub.com/spring-projects/spring-framework/pull/27826)
- Support for CGLIB BeanMap utility on JDK 17 [#27802](https://togithub.com/spring-projects/spring-framework/issues/27802)
- Avoid message listener recovery in case of persistence exceptions from external transaction manager [#1807](https://togithub.com/spring-projects/spring-framework/pull/1807)
##### :lady_beetle: Bug Fixes
- Fix CronExpression fails to calculate next execution on the day of daylight saving time [#28044](https://togithub.com/spring-projects/spring-framework/pull/28044)
- CronExpression fails to calculate next execution on the day of daylight saving time [#28038](https://togithub.com/spring-projects/spring-framework/issues/28038)
- Using recursive annotations in Kotlin causes stack overflow [#28012](https://togithub.com/spring-projects/spring-framework/issues/28012)
- Add formatting for SockJS close GoAway frame to prevent infinite loop for xhr-polling and xhr-streaming transport [#28000](https://togithub.com/spring-projects/spring-framework/pull/28000)
- Reflective method invocation does not detect interface method when interface is declared in a subclass (e.g. HashMap.HashIterator.hasNext) [#27995](https://togithub.com/spring-projects/spring-framework/issues/27995)
- ReflectionUtils.USER_DECLARED_METHODS does not filter methods declared in java.lang.Object [#27970](https://togithub.com/spring-projects/spring-framework/issues/27970)
- CronExpression doesn't handle Quartz weekday of month expressions correctly [#27966](https://togithub.com/spring-projects/spring-framework/issues/27966)
- ServletServerHttpRequest getHeaders() throws IllegalArgumentException instead of ignoring invalid content type */* [#27957](https://togithub.com/spring-projects/spring-framework/issues/27957)
- PropertySourcesPlaceholderConfigurer ignores ignoreUnresolvablePlaceholders flag [#27947](https://togithub.com/spring-projects/spring-framework/issues/27947)
- Fix regression in BeanPropertyRowMapper regarding underscore name [#27941](https://togithub.com/spring-projects/spring-framework/pull/27941)
- WebClient corrupts binary data when trying to upload many files [#27939](https://togithub.com/spring-projects/spring-framework/issues/27939)
- Spring fails to determine XML is XSD-based if DOCTYPE appears in a comment [#27915](https://togithub.com/spring-projects/spring-framework/issues/27915)
- ResourceHttpRequestHandler with PathPatternParser cannot resolve resources with a jsessionid URL [#27913](https://togithub.com/spring-projects/spring-framework/issues/27913)
##### :notebook_with_decorative_cover: Documentation
- Improve documentation for uri(URI) method in WebTestClient regarding base URI [#28058](https://togithub.com/spring-projects/spring-framework/issues/28058)
- Polish reference docs (core) [#28004](https://togithub.com/spring-projects/spring-framework/pull/28004)
- Fix ServletUriComponentsBuilder examples in ref docs [#27984](https://togithub.com/spring-projects/spring-framework/pull/27984)
- Improve documentation for implementing AspectJ around advice [#27980](https://togithub.com/spring-projects/spring-framework/issues/27980)
- Fix CaffeineCacheManager configuration in the documentation [#27967](https://togithub.com/spring-projects/spring-framework/pull/27967)
- Fix Javadoc links to JSR 305 annotations [#27904](https://togithub.com/spring-projects/spring-framework/issues/27904)
- Document how to register annotated classes with a GenericWebApplicationContext [#27778](https://togithub.com/spring-projects/spring-framework/issues/27778)
##### :hammer: Dependency Upgrades
- Upgrade to Reactor 2020.0.16 [#28039](https://togithub.com/spring-projects/spring-framework/issues/28039)
##### :heart: Contributors
We'd like to thank all the contributors who worked on this release!
- [@wkwkhautbois](https://togithub.com/wkwkhautbois)
- [@arey](https://togithub.com/arey)
- [@izeye](https://togithub.com/izeye)
- [@elgleidson](https://togithub.com/elgleidson)
- [@An1s9n](https://togithub.com/An1s9n)
- [@drewtul](https://togithub.com/drewtul)
- [@Drezir](https://togithub.com/Drezir)
- [@mgmeiner](https://togithub.com/mgmeiner)
- [@vikeychen](https://togithub.com/vikeychen)
- [@zbykovskyi](https://togithub.com/zbykovskyi)
- [@mdeinum](https://togithub.com/mdeinum)
- [@shirohoo](https://togithub.com/shirohoo)
### [`v5.3.15`](https://togithub.com/spring-projects/spring-framework/releases/tag/v5.3.15)
##### :star: New Features
- PrintingResultHandler in MockMvc should infer UTF-8 encoding for JSON response [#27926](https://togithub.com/spring-projects/spring-framework/issues/27926)
- WebFlux request id should not contain internal IPs [#27885](https://togithub.com/spring-projects/spring-framework/issues/27885)
- Deprecate inappropriate getBeanFactory() method in AbstractBeanDefinitionReader [#27875](https://togithub.com/spring-projects/spring-framework/issues/27875)
- Make `H2SequenceMaxValueIncrementer` compatible with H2 database 2.0.x [#27870](https://togithub.com/spring-projects/spring-framework/pull/27870)
- Improve error message in ResolvableType.forClassWithGenerics() [#27847](https://togithub.com/spring-projects/spring-framework/issues/27847)
- Use of RequestPart with String leads to a file descriptor leak [#27773](https://togithub.com/spring-projects/spring-framework/issues/27773)
- Expose headers from native client request after request is committed [#27768](https://togithub.com/spring-projects/spring-framework/pull/27768)
##### :lady_beetle: Bug Fixes
- Cannot read server-sent events without data (a.k.a. heartbeats) [#27923](https://togithub.com/spring-projects/spring-framework/issues/27923)
- ArrayIndexOutOfBoundsException with STOMP and Jetty 10 [#27899](https://togithub.com/spring-projects/spring-framework/issues/27899)
- ServerHttpResponseDecorator does not delegate methods for raw status code [#27889](https://togithub.com/spring-projects/spring-framework/pull/27889)
- Clear cache when clearing argument resolvers [#27888](https://togithub.com/spring-projects/spring-framework/pull/27888)
- Duplicated content-type response header on error response [#27887](https://togithub.com/spring-projects/spring-framework/issues/27887)
##### :notebook_with_decorative_cover: Documentation
- Fix syntax in WebFlux Validation example [#27907](https://togithub.com/spring-projects/spring-framework/pull/27907)
- Add Section on Authorization to STOMP WebSocket documentation [#27906](https://togithub.com/spring-projects/spring-framework/issues/27906)
- Correct not compiling example code in Data Access docs [#27886](https://togithub.com/spring-projects/spring-framework/pull/27886)
##### :hammer: Dependency Upgrades
- Upgrade to Reactor 2020.0.15 [#27897](https://togithub.com/spring-projects/spring-framework/issues/27897)
##### :heart: Contributors
We'd like to thank all the contributors who worked on this release!
- [@izeye](https://togithub.com/izeye)
- [@justlikeliuen](https://togithub.com/justlikeliuen)
- [@waahhh](https://togithub.com/waahhh)
- [@kth496](https://togithub.com/kth496)
- [@sokomishalov](https://togithub.com/sokomishalov)
- [@hpoettker](https://togithub.com/hpoettker)
- [@wengertj](https://togithub.com/wengertj)
- [@figroc](https://togithub.com/figroc)
- [@springmonster](https://togithub.com/springmonster)
- [@demkom58](https://togithub.com/demkom58)
### [`v5.3.14`](https://togithub.com/spring-projects/spring-framework/releases/tag/v5.3.14)
#### :star: New Features
- Add default methods to CachingConfigurer [#27811](https://togithub.com/spring-projects/spring-framework/issues/27811)
- Provide a variant of ListableBeanFactory.findAnnotationOnBean(String, Class) that does not initialize factory beans [#27796](https://togithub.com/spring-projects/spring-framework/issues/27796)
- Convert single `null` argument to `Optional.empty()` in SpEL varargs expression [#27795](https://togithub.com/spring-projects/spring-framework/issues/27795)
- Declare serialVersionUID on DefaultAopProxyFactory [#27784](https://togithub.com/spring-projects/spring-framework/issues/27784)
- The ReactorClientHttpConnector must apply mapper before tcpConfiguration() [#27749](https://togithub.com/spring-projects/spring-framework/issues/27749)
- Add getter for RequestMappingInfo builder config [#27723](https://togithub.com/spring-projects/spring-framework/pull/27723)
- Give warning when using capturing patterns with the AntPathMatcher [#27688](https://togithub.com/spring-projects/spring-framework/issues/27688)
- Support for customization of 404 response when RouterFunctionWebHandler finds no routes [#25358](https://togithub.com/spring-projects/spring-framework/pull/25358)
- ModelAndView.status does not work with RedirectView [#25092](https://togithub.com/spring-projects/spring-framework/pull/25092)
- ThreadPoolExecutorFactoryBean add ability to prestart threads [#1246](https://togithub.com/spring-projects/spring-framework/pull/1246)
- Support empty attributes in TagWriter [#910](https://togithub.com/spring-projects/spring-framework/pull/910)
#### :lady_beetle: Bug Fixes
- AsyncConfigurer implementations are loaded too early [#27808](https://togithub.com/spring-projects/spring-framework/issues/27808)
- Possible NPE in Spring MVC LogFormatUtils [#27782](https://togithub.com/spring-projects/spring-framework/issues/27782)
- Extending CachingConfigurerSupport results in at least one log message about not being eligible for full post-processing [#27751](https://togithub.com/spring-projects/spring-framework/issues/27751)
- WebFlux ServerResponse does not overwrite already present response headers [#27741](https://togithub.com/spring-projects/spring-framework/issues/27741)
- Passing single null value in varargs SpEL expression results in NullPointerException [#27719](https://togithub.com/spring-projects/spring-framework/issues/27719)
- UriUtils::extractFileExtension does not properly handle empty file names [#27639](https://togithub.com/spring-projects/spring-framework/issues/27639)
- References of CountingBeforeAdvice target its previous location [#22246](https://togithub.com/spring-projects/spring-framework/pull/22246)
- ProxyFactoryBean getObject called before setInterceptorNames, silently creating an invalid proxy \[SPR-7582] [#12238](https://togithub.com/spring-projects/spring-framework/issues/12238)
#### :notebook_with_decorative_cover: Documentation
- Remove references to AsyncConfigurerSupport as AsyncConfigurer should be used instead [#27812](https://togithub.com/spring-projects/spring-framework/issues/27812)
- Fix javadoc reference to ThrowsAdvice [#27804](https://togithub.com/spring-projects/spring-framework/pull/27804)
- Suggested WebSocket config causes circular bean reference [#27746](https://togithub.com/spring-projects/spring-framework/issues/27746)
- Document the difference in generics resolution between `@Autowired` and `beanFactory.getBeanProvider` [#27727](https://togithub.com/spring-projects/spring-framework/issues/27727)
- Clarify that interface-level cache annotations work for target-class proxies as well [#27726](https://togithub.com/spring-projects/spring-framework/pull/27726)
-
Configuration
📅 Schedule: 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 is behind base branch, 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 has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
4.3.30.RELEASE
->6.0.2
4.3.30.RELEASE
->6.0.2
4.3.30.RELEASE
->6.0.2
4.3.30.RELEASE
->6.0.2
4.3.30.RELEASE
->6.0.2
4.3.30.RELEASE
->6.0.2
4.3.30.RELEASE
->6.0.2
Release Notes
spring-projects/spring-framework
### [`v6.0.2`](https://togithub.com/spring-projects/spring-framework/releases/tag/v6.0.2) [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v6.0.1...v6.0.2) #### :star: New Features - Rely on standard parameter name resolution in Bean Validation 3.0 [#29566](https://togithub.com/spring-projects/spring-framework/issues/29566) #### :lady_beetle: Bug Fixes - ResponseStatusException does not use the reason to set the "detail" field [#29567](https://togithub.com/spring-projects/spring-framework/issues/29567) - LocalVariableTableParameterNameDiscoverer logs many warnings with Hibernate validation [#29563](https://togithub.com/spring-projects/spring-framework/issues/29563) #### :notebook_with_decorative_cover: Documentation - org.springframework.web.multipart.commons not found [#29562](https://togithub.com/spring-projects/spring-framework/issues/29562) ### [`v6.0.1`](https://togithub.com/spring-projects/spring-framework/releases/tag/v6.0.1) [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v6.0.0...v6.0.1) ##### :star: New Features - Make `SourceHttpMessageConverter` optional [#29535](https://togithub.com/spring-projects/spring-framework/issues/29535) - Deprecate `LocalVariableTableParameterNameDiscoverer` completely (avoiding its exposure in native images) [#29531](https://togithub.com/spring-projects/spring-framework/pull/29531) - Make GeneratorStrategy.generate unreachable on native [#29521](https://togithub.com/spring-projects/spring-framework/pull/29521) - Update `LogAdapter` to allow build-time code removal [#29506](https://togithub.com/spring-projects/spring-framework/pull/29506) ##### :lady_beetle: Bug Fixes - Unhandled exceptions should mark Servlet observation outcome as error [#29512](https://togithub.com/spring-projects/spring-framework/issues/29512) ##### :notebook_with_decorative_cover: Documentation - Broken link in documentation section 6.10 [#29554](https://togithub.com/spring-projects/spring-framework/issues/29554) - Fix Javadoc link text in BindingResult [#29551](https://togithub.com/spring-projects/spring-framework/pull/29551) - Fix some typos in Kotlin WebClient example code [#29538](https://togithub.com/spring-projects/spring-framework/pull/29538) - Fix link to Bean Utils Light Library in BeanUtils Javadoc [#29534](https://togithub.com/spring-projects/spring-framework/pull/29534) - Fix link to WebFlux section in reference manual [#29525](https://togithub.com/spring-projects/spring-framework/pull/29525) - Document RuntimeHints testing strategies [#29523](https://togithub.com/spring-projects/spring-framework/issues/29523) - Reorganize and modularize the Testing chapter in the reference manual [#29522](https://togithub.com/spring-projects/spring-framework/issues/29522) - Document switch to `SQLExceptionSubclassTranslator` in the upgrade guide [#29518](https://togithub.com/spring-projects/spring-framework/issues/29518) - Update documentation to mention Java 17+ baseline [#29514](https://togithub.com/spring-projects/spring-framework/issues/29514) - Link to Spring WebFlux section is broken [#29513](https://togithub.com/spring-projects/spring-framework/issues/29513) - Update javadoc of Jackson-based decoders to reflect 2.14 baseline [#29508](https://togithub.com/spring-projects/spring-framework/pull/29508) - Code example has callout from a different code example [#29505](https://togithub.com/spring-projects/spring-framework/issues/29505) - Code listing callouts are displayed incorrectly in core-beans.adoc [#29457](https://togithub.com/spring-projects/spring-framework/issues/29457) - Fix a syntax error in an XML listing in core-validation.adoc [#29456](https://togithub.com/spring-projects/spring-framework/pull/29456) ##### :hammer: Dependency Upgrades - Upgrade to Jackson 2.14.1 [#29539](https://togithub.com/spring-projects/spring-framework/issues/29539) - Upgrade to Kotlin 1.7.21 [#29543](https://togithub.com/spring-projects/spring-framework/issues/29543) ##### :heart: Contributors Thank you to all the contributors who worked on this release: [@Encyclopedias](https://togithub.com/Encyclopedias), [@andregasser](https://togithub.com/andregasser), [@davidcostanzo](https://togithub.com/davidcostanzo), [@divcon](https://togithub.com/divcon), [@jiangying000](https://togithub.com/jiangying000), [@mdeinum](https://togithub.com/mdeinum), and [@wilkinsona](https://togithub.com/wilkinsona) ### [`v6.0.0`](https://togithub.com/spring-projects/spring-framework/releases/tag/v6.0.0) [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v5.3.24...v6.0.0) See [What's New in Spring Framework 6.x](https://togithub.com/spring-projects/spring-framework/wiki/What%27s-New-in-Spring-Framework-6.x) and [Upgrading to Spring Framework 6.x](https://togithub.com/spring-projects/spring-framework/wiki/Upgrading-to-Spring-Framework-6.x) for upgrade instructions and details of new features. #### :star: New Features - Avoid direct URL construction and URL equality checks [#29486](https://togithub.com/spring-projects/spring-framework/issues/29486) - Simplify creating RFC 7807 responses from functional endpoints [#29462](https://togithub.com/spring-projects/spring-framework/issues/29462) - Allow test classes to provide runtime hints via declarative mechanisms [#29455](https://togithub.com/spring-projects/spring-framework/issues/29455) #### :notebook_with_decorative_cover: Documentation - Align javadoc of DefaultParameterNameDiscoverer with its behavior [#29494](https://togithub.com/spring-projects/spring-framework/pull/29494) - Document AOT support in the TestContext framework [#29482](https://togithub.com/spring-projects/spring-framework/issues/29482) - Document Ahead of Time processing in the reference guide [#29350](https://togithub.com/spring-projects/spring-framework/issues/29350) #### :hammer: Dependency Upgrades - Upgrade to Reactor 2022.0.0 [#29465](https://togithub.com/spring-projects/spring-framework/issues/29465) #### :heart: Contributors Thank you to all the contributors who worked on this release: [@ophiuhus](https://togithub.com/ophiuhus) and [@wilkinsona](https://togithub.com/wilkinsona) ### [`v5.3.24`](https://togithub.com/spring-projects/spring-framework/releases/tag/v5.3.24) ##### :star: New Features - Avoid reflection for annotation method invocations [#29448](https://togithub.com/spring-projects/spring-framework/issues/29448) - Avoid unnecessary allocations in StompDecoder#unescape [#29443](https://togithub.com/spring-projects/spring-framework/pull/29443) - Avoid String allocations in MediaType.checkParameters [#29428](https://togithub.com/spring-projects/spring-framework/pull/29428) - Reduce allocations caused by producible media types [#29412](https://togithub.com/spring-projects/spring-framework/pull/29412) - Provide optional SimpleBeanInfoFactory for better introspection performance in 5.3.x [#29330](https://togithub.com/spring-projects/spring-framework/issues/29330) - Filter out `null` WebSocket session attributes [#29315](https://togithub.com/spring-projects/spring-framework/issues/29315) - Introduce TestSocketUtils as a replacement for SocketUtils [#29132](https://togithub.com/spring-projects/spring-framework/pull/29132) - Avoid Commons Logging API for using LoggingCacheErrorHandler with a custom logger [#28678](https://togithub.com/spring-projects/spring-framework/pull/28678) ##### :lady_beetle: Bug Fixes - Missing SessionFactory property (filter AutoCloseable from PropertyDescriptors) [#29480](https://togithub.com/spring-projects/spring-framework/issues/29480) - SpEL ternary and Elvis expressions are missing enclosing parentheses in toStringAST() [#29463](https://togithub.com/spring-projects/spring-framework/issues/29463) - If-Unmodified-Since header check removes Last-Modified and Etag headers from response, even if condition passes [#29362](https://togithub.com/spring-projects/spring-framework/issues/29362) - Annotation searches fail for non-public repeatable annotations [#29301](https://togithub.com/spring-projects/spring-framework/issues/29301) - AbstractBeanFactory's interaction with BeanPostProcessorCacheAwareList is not fully thread-safe [#29299](https://togithub.com/spring-projects/spring-framework/issues/29299) - WebTestClient cannot assert custom HTTP status code [#29283](https://togithub.com/spring-projects/spring-framework/issues/29283) - Body token not expected error when trying to upload a large multipart file [#29227](https://togithub.com/spring-projects/spring-framework/issues/29227) - Avoid resizing of Maps created by CollectionUtils [#29190](https://togithub.com/spring-projects/spring-framework/pull/29190) - DefaultWebClient logging sensitive information in URI [#29148](https://togithub.com/spring-projects/spring-framework/issues/29148) - Fix SimpleMailMessage nullability annotations [#29139](https://togithub.com/spring-projects/spring-framework/pull/29139) - Webflux fails to apply the rule for controller methods returning void to kotlin suspend functions returning Unit [#27629](https://togithub.com/spring-projects/spring-framework/issues/27629) - Resource.isFile() return true when the resource path actually not exists [#26707](https://togithub.com/spring-projects/spring-framework/issues/26707) - AnnotatedElementUtils does not find merged repeatable annotations on other repeatable annotations [#20279](https://togithub.com/spring-projects/spring-framework/issues/20279) ##### :notebook_with_decorative_cover: Documentation - Fix two typos in integration.adoc and webflux.adoc [#29469](https://togithub.com/spring-projects/spring-framework/pull/29469) - Fix typo: "as describe in" -> "as described in" [#29393](https://togithub.com/spring-projects/spring-framework/pull/29393) - Fix typos [#29364](https://togithub.com/spring-projects/spring-framework/pull/29364) - Correct documentation for "other return values" from a web controller method [#29349](https://togithub.com/spring-projects/spring-framework/issues/29349) - Document how to use WebJars without `webjars-locator-core` dependency [#29322](https://togithub.com/spring-projects/spring-framework/issues/29322) - Update RestTemplate Javadoc with regards to setting interceptors on startup vs at runtime [#29311](https://togithub.com/spring-projects/spring-framework/issues/29311) - Document how to switch to the default set of TestExecutionListeners [#29281](https://togithub.com/spring-projects/spring-framework/issues/29281) - Document limitation of AopTestUtils.getUltimateTargetObject() regarding non-static TargetSource [#29276](https://togithub.com/spring-projects/spring-framework/issues/29276) - Fix typo in WebSocket reference doc regarding subscription header [#29228](https://togithub.com/spring-projects/spring-framework/pull/29228) - Fix MockMvc sample setup [#29201](https://togithub.com/spring-projects/spring-framework/pull/29201) ##### :hammer: Dependency Upgrades - Upgrade to Reactor 2020.0.25 [#29464](https://togithub.com/spring-projects/spring-framework/issues/29464) ##### :heart: Contributors We'd like to thank all the contributors who worked on this release! - [@sangmin7648](https://togithub.com/sangmin7648) - [@izeye](https://togithub.com/izeye) - [@dreis2211](https://togithub.com/dreis2211) - [@catmug](https://togithub.com/catmug) - [@inabajunmr](https://togithub.com/inabajunmr) - [@iamgd67](https://togithub.com/iamgd67) - [@davidcostanzo](https://togithub.com/davidcostanzo) - [@jprinet](https://togithub.com/jprinet) - [@stgerhardt](https://togithub.com/stgerhardt) - [@onobc](https://togithub.com/onobc) - [@vpavic](https://togithub.com/vpavic) ### [`v5.3.23`](https://togithub.com/spring-projects/spring-framework/releases/tag/v5.3.23) [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v5.3.22...v5.3.23) ##### :star: New Features - Introduce AnnotationUtils.isSynthesizedAnnotation(Annotation) [#29054](https://togithub.com/spring-projects/spring-framework/issues/29054) - Introduce createContext() factory method in AbstractGenericWebContextLoader [#28983](https://togithub.com/spring-projects/spring-framework/issues/28983) - Support TreeSet collection type in CollectionFactory.createCollection() without using reflection [#28949](https://togithub.com/spring-projects/spring-framework/pull/28949) - Document when RequestEntity.getUrl() throws an UnsupportedOperationException [#28930](https://togithub.com/spring-projects/spring-framework/issues/28930) - Deprecate NestedIOException [#28929](https://togithub.com/spring-projects/spring-framework/issues/28929) - Make isConnected() in WebSocketConnectionManager public [#28785](https://togithub.com/spring-projects/spring-framework/pull/28785) - Expose headers from STOMP RECEIPT frame to registered callbacks [#28715](https://togithub.com/spring-projects/spring-framework/pull/28715) - Make WebClientException serializable [#28321](https://togithub.com/spring-projects/spring-framework/issues/28321) ##### :lady_beetle: Bug Fixes - Ordering inconsistency with beans defined in parent context [#29105](https://togithub.com/spring-projects/spring-framework/issues/29105) - RelativeRedirectResponseWrapper does not commit response in sendRedirect [#29050](https://togithub.com/spring-projects/spring-framework/pull/29050) - MockServerContainerContextCustomizerFactory does not support `@Nested` tests [#29037](https://togithub.com/spring-projects/spring-framework/issues/29037) - Request to improve KotlinSerializationJsonHttpMessageConverter logic in RestTemplate [#29008](https://togithub.com/spring-projects/spring-framework/issues/29008) - WebFlux: multipart requests hang sometimes [#28963](https://togithub.com/spring-projects/spring-framework/issues/28963) - DataBufferUtils.write(Publisher, Path) loses context [#28933](https://togithub.com/spring-projects/spring-framework/issues/28933) - connectionTimeOut and readTimeout not working on UrlResource [#28909](https://togithub.com/spring-projects/spring-framework/issues/28909) - SockJsServiceRegistration#setSupressCors has a typo and should be deprecated [#28853](https://togithub.com/spring-projects/spring-framework/pull/28853) - RenderingResponse does not set status code on redirect views [#28839](https://togithub.com/spring-projects/spring-framework/issues/28839) - Avoid IllegalArgumentException when setting WebSocket error status [#28836](https://togithub.com/spring-projects/spring-framework/pull/28836) - Loss of context path after using ServerRequest.from [#28820](https://togithub.com/spring-projects/spring-framework/issues/28820) - ResponseCookie does not declare nullability annotations consistently for domain and path [#28780](https://togithub.com/spring-projects/spring-framework/pull/28780) ##### :notebook_with_decorative_cover: Documentation - Fix typo in data-access section [#29048](https://togithub.com/spring-projects/spring-framework/pull/29048) - Correct description of `@RequestParam` with WebFlux [#28944](https://togithub.com/spring-projects/spring-framework/pull/28944) - Fix broken kdoc-api links in kotlin.adoc [#28908](https://togithub.com/spring-projects/spring-framework/pull/28908) - Fix typos in Javadoc of class AbstractEncoder [#28885](https://togithub.com/spring-projects/spring-framework/pull/28885) - Fix links in Javadoc and reference docs [#28876](https://togithub.com/spring-projects/spring-framework/pull/28876) - Add missing closing parenthesis in reference doc [#28867](https://togithub.com/spring-projects/spring-framework/pull/28867) - Fix typos in Javadoc, reference docs, and code [#28822](https://togithub.com/spring-projects/spring-framework/pull/28822) - Replace use of the `` HTML tag in Javadoc [#28819](https://togithub.com/spring-projects/spring-framework/pull/28819) - Fix broken link in rsocket documentation [#28817](https://togithub.com/spring-projects/spring-framework/pull/28817) - Clarify docs on JNDI properties in Servlet environment [#28488](https://togithub.com/spring-projects/spring-framework/pull/28488) - Improve documentation of Caching annotations [#28183](https://togithub.com/spring-projects/spring-framework/pull/28183) ##### :hammer: Dependency Upgrades - Upgrade to Reactor 2020.0.23 [#29129](https://togithub.com/spring-projects/spring-framework/issues/29129) ##### :heart: Contributors We'd like to thank all the contributors who worked on this release! - [@boahc077](https://togithub.com/boahc077) - [@1993heqiang](https://togithub.com/1993heqiang) - [@luvarqpp](https://togithub.com/luvarqpp) - [@arend-von-reinersdorff](https://togithub.com/arend-von-reinersdorff) - [@jensdietrich](https://togithub.com/jensdietrich) - [@wilkinsona](https://togithub.com/wilkinsona) - [@npriebe](https://togithub.com/npriebe) - [@vpavic](https://togithub.com/vpavic) - [@jupiterhub](https://togithub.com/jupiterhub) - [@izeye](https://togithub.com/izeye) - [@napstr](https://togithub.com/napstr) - [@marcwrobel](https://togithub.com/marcwrobel) - [@arvyy](https://togithub.com/arvyy) - [@jbotuck](https://togithub.com/jbotuck) - [@chanhyeong](https://togithub.com/chanhyeong) - [@yuezk](https://togithub.com/yuezk) - [@edfeff](https://togithub.com/edfeff) - [@adrianbob](https://togithub.com/adrianbob) - [@FlorianKirmaier](https://togithub.com/FlorianKirmaier) - [@meloning](https://togithub.com/meloning) ### [`v5.3.22`](https://togithub.com/spring-projects/spring-framework/releases/tag/v5.3.22) [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v5.3.21...v5.3.22) ##### :star: New Features - Improve regex "." matching for URL paths [#28815](https://togithub.com/spring-projects/spring-framework/issues/28815) - Spring JDBC does not recognize LocalDate and LocalDateTime in javaType to sqlType Mapping [#28778](https://togithub.com/spring-projects/spring-framework/issues/28778) - ResolvableType.forInstance should return NONE for null instance [#28776](https://togithub.com/spring-projects/spring-framework/issues/28776) - Correctly identify MaxUploadSizeExceededException through keywords in message from Jetty 9.4.x [#28759](https://togithub.com/spring-projects/spring-framework/pull/28759) - Introduce StringUtils.trimAllWhitespace(CharSequence) [#28757](https://togithub.com/spring-projects/spring-framework/issues/28757) - Trim string input in Converters where whitespace is irrelevant [#28756](https://togithub.com/spring-projects/spring-framework/issues/28756) - Trim string input in PropertyEditors where whitespace is irrelevant [#28755](https://togithub.com/spring-projects/spring-framework/issues/28755) - Improve diagnostics for CGLIB ClassLoader issues on Java 9+ [#28747](https://togithub.com/spring-projects/spring-framework/issues/28747) - Create well-known non-interface types in CollectionFactory without using reflection [#28718](https://togithub.com/spring-projects/spring-framework/issues/28718) - Revise internals of LoggingCacheErrorHandler [#28672](https://togithub.com/spring-projects/spring-framework/issues/28672) - Simplify creation of LoggingCacheErrorHandler with logged stacktrace [#28670](https://togithub.com/spring-projects/spring-framework/pull/28670) - Fix DataSourceUtils inconsistent exception handling [#28669](https://togithub.com/spring-projects/spring-framework/pull/28669) - Introduce lenient parsing in DataSize regarding whitespace [#28643](https://togithub.com/spring-projects/spring-framework/issues/28643) - Support adding rather than replacing modules in Jackson2ObjectMapperBuilder [#28633](https://togithub.com/spring-projects/spring-framework/issues/28633) - Add `MockMvcRequestBuilders.multipart(HttpMethod, String, Object...)` [#28631](https://togithub.com/spring-projects/spring-framework/pull/28631) - Avoid parsing request body in DispatcherServlet for "parameters={masked}" log message [#28587](https://togithub.com/spring-projects/spring-framework/issues/28587) - Avoid synchronization in AbstractAspectJAdvice#calculateArgumentBindings [#26377](https://togithub.com/spring-projects/spring-framework/issues/26377) ##### :lady_beetle: Bug Fixes - WebFlux multipart temporary file not deleted when the client disconnects early [#28740](https://togithub.com/spring-projects/spring-framework/issues/28740) - Ensure channelExecutors and taskScheduler in STOMP WebSocket config are qualified [#28736](https://togithub.com/spring-projects/spring-framework/pull/28736) - MockHttpServletResponse addHeader does not allow Comment part with Set-Cookie header [#28730](https://togithub.com/spring-projects/spring-framework/issues/28730) - Meta-annotations are unnecessarily synthesized in MergedAnotations [#28704](https://togithub.com/spring-projects/spring-framework/issues/28704) - `GenericApplicationContext` does not honor `ProtocolResolver` when a resource loader is set via `setResourceLoader()` [#28703](https://togithub.com/spring-projects/spring-framework/issues/28703) - R2DBC: `@Transactional`(readOnly) is applied to the connection before the transaction has begun [#28610](https://togithub.com/spring-projects/spring-framework/issues/28610) ##### :notebook_with_decorative_cover: Documentation - Fix Kotlin code snippets language [#28810](https://togithub.com/spring-projects/spring-framework/issues/28810) - Fix typos in reference docs and project documentation [#28805](https://togithub.com/spring-projects/spring-framework/pull/28805) - Fix and improve Javadoc in spring-beans and spring-aop [#28803](https://togithub.com/spring-projects/spring-framework/pull/28803) - Fix and improve Javadoc in spring-core and spring-context [#28802](https://togithub.com/spring-projects/spring-framework/pull/28802) - Fix and improve Javadoc in spring-messaging, spring-jms and spring-expression [#28800](https://togithub.com/spring-projects/spring-framework/pull/28800) - Fix and improve Javadoc in spring-r2dbc, spring-oxm, spring-orm and spring-jdbc [#28796](https://togithub.com/spring-projects/spring-framework/pull/28796) - Fix and improve Javadoc in spring-test [#28795](https://togithub.com/spring-projects/spring-framework/pull/28795) - Fix and improve Javadoc in spring-tx [#28794](https://togithub.com/spring-projects/spring-framework/pull/28794) - Fix and improve Javadoc in spring-web [#28791](https://togithub.com/spring-projects/spring-framework/pull/28791) - Fix and improve Javadoc in spring-webflux [#28790](https://togithub.com/spring-projects/spring-framework/pull/28790) - Fix and improve Javadoc in spring-webmvc [#28789](https://togithub.com/spring-projects/spring-framework/pull/28789) - Fix and improve Javadoc in spring-websocket [#28788](https://togithub.com/spring-projects/spring-framework/pull/28788) - Fix Kotlin example for defines a custom `@Production` [#28680](https://togithub.com/spring-projects/spring-framework/issues/28680) - Fix a typo in ResponseEntity documentation [#28647](https://togithub.com/spring-projects/spring-framework/issues/28647) - Document that Kotlin inline classes are not supported yet [#28642](https://togithub.com/spring-projects/spring-framework/issues/28642) - Refine `@Required` Kotlin documentation to use annotation use site targets [#28630](https://togithub.com/spring-projects/spring-framework/issues/28630) - Fix Kotlin example for `@ComponentScan` basePackages attribute [#28628](https://togithub.com/spring-projects/spring-framework/issues/28628) - Kotlin examples for setter injection incorrectly use field injection [#28596](https://togithub.com/spring-projects/spring-framework/issues/28596) - Fix expectations in MockMvc Kotlin documentation [#28301](https://togithub.com/spring-projects/spring-framework/issues/28301) ##### :hammer: Dependency Upgrades - Update to Bouncycastle 1.71 [#28636](https://togithub.com/spring-projects/spring-framework/pull/28636) - Upgrade to Reactor 2020.0.21 [#28765](https://togithub.com/spring-projects/spring-framework/issues/28765) ##### :heart: Contributors We'd like to thank all the contributors who worked on this release! - [@jasonjiang9527](https://togithub.com/jasonjiang9527) - [@izeye](https://togithub.com/izeye) - [@marcwrobel](https://togithub.com/marcwrobel) - [@larsgrefer](https://togithub.com/larsgrefer) - [@jprinet](https://togithub.com/jprinet) - [@vikeychen](https://togithub.com/vikeychen) - [@kacperkrzyzak](https://togithub.com/kacperkrzyzak) - [@kevin0x90](https://togithub.com/kevin0x90) - [@vpavic](https://togithub.com/vpavic) - [@CodeInDreams](https://togithub.com/CodeInDreams) - [@4ra1n](https://togithub.com/4ra1n) ### [`v5.3.21`](https://togithub.com/spring-projects/spring-framework/releases/tag/v5.3.21) [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v5.3.20...v5.3.21) #### :star: New Features - Expose ThreadPoolTaskExecutor queue size and capacity for metrics [#28583](https://togithub.com/spring-projects/spring-framework/pull/28583) - Lazily initialize DataSize.PATTERN [#28560](https://togithub.com/spring-projects/spring-framework/issues/28560) - MockMvcWebTestClient forces HTTP POST for multipart requests [#28545](https://togithub.com/spring-projects/spring-framework/issues/28545) - Support for CGLIB BeanCopier utility on JDK 17 [#28530](https://togithub.com/spring-projects/spring-framework/issues/28530) - Allow changes to `org.springframework.web` log category at runtime [#28477](https://togithub.com/spring-projects/spring-framework/issues/28477) #### :lady_beetle: Bug Fixes - Avoid eager instantiation of non-singleton FactoryBean in getBeanNamesForType [#28616](https://togithub.com/spring-projects/spring-framework/pull/28616) - ObjectToObjectConverter doesn't consider return type of static methods [#28609](https://togithub.com/spring-projects/spring-framework/issues/28609) - Charset for input stream ignored in Jaxb2XmlDecoder [#28599](https://togithub.com/spring-projects/spring-framework/issues/28599) - Support RouterFunction ordering in Spring MVC [#28595](https://togithub.com/spring-projects/spring-framework/issues/28595) - Always construct new exception on error in DefaultWebClient [#28550](https://togithub.com/spring-projects/spring-framework/pull/28550) - HierarchicalUriComponents::getPort() throws NumberFormatException with invalid port in URI [#28521](https://togithub.com/spring-projects/spring-framework/issues/28521) - Cannot serve static resources with spaces from "file:" location when using `PathPattern` and UrlPathHelper is set to not decode [#27791](https://togithub.com/spring-projects/spring-framework/issues/27791) #### :notebook_with_decorative_cover: Documentation - Fix code sample for nested router functions [#28603](https://togithub.com/spring-projects/spring-framework/issues/28603) - Fix Kotlin example for `@Required` [#28590](https://togithub.com/spring-projects/spring-framework/issues/28590) - Fix Kotlin example for dependency injection with static factory method [#28589](https://togithub.com/spring-projects/spring-framework/issues/28589) - Update documentation regarding nested test class support [#28579](https://togithub.com/spring-projects/spring-framework/issues/28579) - Update reference docs to use PropertySourcesPlaceholderConfigurer [#28572](https://togithub.com/spring-projects/spring-framework/pull/28572) - Fix typo in webflux.adoc [#28542](https://togithub.com/spring-projects/spring-framework/pull/28542) - Fix Javadoc for DatabaseClient [#28520](https://togithub.com/spring-projects/spring-framework/pull/28520) - CachingConnectionFactory with WebLogic JMS not caching producers nor consumers [#28500](https://togithub.com/spring-projects/spring-framework/issues/28500) - Fix Kotlin example for static factory method [#28399](https://togithub.com/spring-projects/spring-framework/issues/28399) #### :hammer: Dependency Upgrades - Upgrade to Reactor 2020.0.20 [#28612](https://togithub.com/spring-projects/spring-framework/issues/28612) #### :heart: Contributors We'd like to thank all the contributors who worked on this release! - [@rguihard](https://togithub.com/rguihard) - [@hsteinmueller](https://togithub.com/hsteinmueller) - [@gorisanson](https://togithub.com/gorisanson) - [@fsgonz](https://togithub.com/fsgonz) - [@pokab](https://togithub.com/pokab) - [@eltociear](https://togithub.com/eltociear) ### [`v5.3.20`](https://togithub.com/spring-projects/spring-framework/releases/tag/v5.3.20) ##### :star: New Features - Refine CachedIntrospectionResults property introspection [#28445](https://togithub.com/spring-projects/spring-framework/issues/28445) - Improve tests and Javadoc on binding to a property of type javax.servlet.Part [#27830](https://togithub.com/spring-projects/spring-framework/pull/27830) - WritableResource doesn't have parity with Resource in `@Value` etc. \[SPR-10656] [#15284](https://togithub.com/spring-projects/spring-framework/issues/15284) ##### :lady_beetle: Bug Fixes - Ignore invalid STOMP frame [#28443](https://togithub.com/spring-projects/spring-framework/issues/28443) - `@ModelAttribute` name attribute is not supported in WebFlux [#28423](https://togithub.com/spring-projects/spring-framework/issues/28423) - Fix BindingResult error when ModelAttribute has custom name in WebFlux [#28422](https://togithub.com/spring-projects/spring-framework/pull/28422) - Request body deserialization failures are not captured by exception handlers in WebFlux [#28155](https://togithub.com/spring-projects/spring-framework/issues/28155) ##### :notebook_with_decorative_cover: Documentation - Remove Log4J initialization from package-info.java in spring-web [#28420](https://togithub.com/spring-projects/spring-framework/pull/28420) - Remove Log4J configurer from package-info.java in spring-core [#28411](https://togithub.com/spring-projects/spring-framework/pull/28411) - Fix github issue reference in RequestMappingHandlerMapping [#28372](https://togithub.com/spring-projects/spring-framework/pull/28372) - Add Javadoc since tags for GraphQL constants [#28369](https://togithub.com/spring-projects/spring-framework/pull/28369) - Fix method reference in Kotlin documentation [#28340](https://togithub.com/spring-projects/spring-framework/pull/28340) ##### :hammer: Dependency Upgrades - Upgrade to ASM 9.3 [#28390](https://togithub.com/spring-projects/spring-framework/issues/28390) - Upgrade to Reactor 2020.0.19 [#28437](https://togithub.com/spring-projects/spring-framework/issues/28437) ##### :heart: Contributors We'd like to thank all the contributors who worked on this release! - [@izeye](https://togithub.com/izeye) - [@koenpunt](https://togithub.com/koenpunt) - [@missingdays](https://togithub.com/missingdays) - [@zhangmingqi09](https://togithub.com/zhangmingqi09) - [@binchoo](https://togithub.com/binchoo) - [@gorisanson](https://togithub.com/gorisanson) - [@jprinet](https://togithub.com/jprinet) - [@nealshan](https://togithub.com/nealshan) - [@bougar](https://togithub.com/bougar) ### [`v5.3.19`](https://togithub.com/spring-projects/spring-framework/releases/tag/v5.3.19) ##### :star: New Features - Remove DNS lookups during websocket connection initiation [#28280](https://togithub.com/spring-projects/spring-framework/issues/28280) - Add application/graphql+json Media type and MIME type constants [#28271](https://togithub.com/spring-projects/spring-framework/issues/28271) - Fix debug log for no matching acceptableTypes [#28116](https://togithub.com/spring-projects/spring-framework/pull/28116) - Provide support for post-processing a LocalValidatorFactoryBean's validator Configuration without requiring sub-classing [#27956](https://togithub.com/spring-projects/spring-framework/issues/27956) ##### :lady_beetle: Bug Fixes - Improve documentation and matching algorithm in data binders [#28333](https://togithub.com/spring-projects/spring-framework/issues/28333) - NotWritablePropertyException when attempting to declaratively configure ClassLoader properties [#28269](https://togithub.com/spring-projects/spring-framework/issues/28269) - BeanPropertyRowMapper's support for direct column name matches is missing in DataClassRowMapper [#28243](https://togithub.com/spring-projects/spring-framework/issues/28243) - AbstractListenerReadPublisher does not call `ServletOutputStream::isReady()` when reading chunked data across network packets [#28241](https://togithub.com/spring-projects/spring-framework/issues/28241) - ResponseEntity objects are accumulated in ConcurrentReferenceHashMap [#28232](https://togithub.com/spring-projects/spring-framework/issues/28232) - Lambda proxy generation fix causes BeanNotOfRequiredTypeException [#28209](https://togithub.com/spring-projects/spring-framework/issues/28209) - CodeGenerationException thrown when using AnnotationMBeanExporter on JDK 17 [#28138](https://togithub.com/spring-projects/spring-framework/issues/28138) ##### :hammer: Dependency Upgrades - Upgrade to Reactor 2020.0.18 [#28329](https://togithub.com/spring-projects/spring-framework/issues/28329) ##### :heart: Contributors We'd like to thank all the contributors who worked on this release! - [@GatinMI](https://togithub.com/GatinMI) ### [`v5.3.18`](https://togithub.com/spring-projects/spring-framework/releases/tag/v5.3.18) ##### :star: New Features - Restrict access to property paths on Class references [#28261](https://togithub.com/spring-projects/spring-framework/issues/28261) - Introduce cancel(boolean mayInterruptIfRunning) in ScheduledTask [#28233](https://togithub.com/spring-projects/spring-framework/issues/28233) ##### :lady_beetle: Bug Fixes - Move off deprecated API in `SessionTransactionData` [#28234](https://togithub.com/spring-projects/spring-framework/issues/28234) ##### :notebook_with_decorative_cover: Documentation - Introduce warnings in documentation of SerializationUtils [#28246](https://togithub.com/spring-projects/spring-framework/issues/28246) - Update copyright date in reference manual [#28237](https://togithub.com/spring-projects/spring-framework/issues/28237) - `@Transactional` test does not execute all JPA lifecycle callback methods [#28228](https://togithub.com/spring-projects/spring-framework/issues/28228) ##### :heart: Contributors We'd like to thank all the contributors who worked on this release! - [@izeye](https://togithub.com/izeye) - [@quaff](https://togithub.com/quaff) ### [`v5.3.17`](https://togithub.com/spring-projects/spring-framework/releases/tag/v5.3.17) #### :star: New Features - Using DataClassRowMapper causes "No property found for column" debug messages in logs [#28179](https://togithub.com/spring-projects/spring-framework/issues/28179) - Improve diagnostics in SpEL for large array creation [#28145](https://togithub.com/spring-projects/spring-framework/issues/28145) - Support custom HTTP status in client-side REST testing support [#28105](https://togithub.com/spring-projects/spring-framework/pull/28105) - AsyncRestTemplate logging too verbose [#28049](https://togithub.com/spring-projects/spring-framework/issues/28049) #### :lady_beetle: Bug Fixes - java.lang.NoClassDefFoundError: org/springframework/cglib/beans/BeanMapEmitter [#28110](https://togithub.com/spring-projects/spring-framework/issues/28110) - CronExpression fails to calculate properly next execution when running on the day of winter daylight saving time [#28095](https://togithub.com/spring-projects/spring-framework/issues/28095) - Private init/destroy method may be invoked twice [#28083](https://togithub.com/spring-projects/spring-framework/issues/28083) - MappingJacksonValue and Jackson2CodecSupport#registerObjectMappersForType do not work together [#28045](https://togithub.com/spring-projects/spring-framework/issues/28045) - SpEL fails to recover from error during MIXED mode compilation [#28043](https://togithub.com/spring-projects/spring-framework/issues/28043) - When returning a ResponseEntity with a Flux while the function is suspended, it fails to encode the body [#27809](https://togithub.com/spring-projects/spring-framework/issues/27809) #### :notebook_with_decorative_cover: Documentation - Improve documentation for `@EnabledIf` and `@DisabledIf` test support [#28157](https://togithub.com/spring-projects/spring-framework/issues/28157) - Links to Spring Security are broken in the reference guide [#28135](https://togithub.com/spring-projects/spring-framework/issues/28135) - Document that transaction rollback rules may result in unintentional matches [#28125](https://togithub.com/spring-projects/spring-framework/issues/28125) - Improve documentation for TestContext events [#27757](https://togithub.com/spring-projects/spring-framework/issues/27757) - Clarify behavior for generics support in BeanUtils.copyProperties [#27259](https://togithub.com/spring-projects/spring-framework/issues/27259) #### :hammer: Dependency Upgrades - Upgrade to Reactor 2020.0.17 [#28064](https://togithub.com/spring-projects/spring-framework/issues/28064) #### :heart: Contributors We'd like to thank all the contributors who worked on this release! - [@gorisanson](https://togithub.com/gorisanson) - [@danthonywalker](https://togithub.com/danthonywalker) - [@AzZureman](https://togithub.com/AzZureman) ### [`v5.3.16`](https://togithub.com/spring-projects/spring-framework/releases/tag/v5.3.16) ##### :star: New Features - Deprecate SocketUtils [#28052](https://togithub.com/spring-projects/spring-framework/issues/28052) - Add convenience factory method for ManagedList, ManagedSet and ManagedMap [#28026](https://togithub.com/spring-projects/spring-framework/issues/28026) - Synthesized annotation toString() doesn't match non-synthesized annotation on Java 9+ [#28015](https://togithub.com/spring-projects/spring-framework/issues/28015) - Add support for strict JSON comparison in WebTestClient [#27993](https://togithub.com/spring-projects/spring-framework/pull/27993) - Improve log message when searching for default executor for async processing [#27983](https://togithub.com/spring-projects/spring-framework/issues/27983) - Inconsistent behaviour in spring-orm between EntityManagerFactoryUtils.closeEntityManager() and SessionFactoryUtils.closeSession() [#27972](https://togithub.com/spring-projects/spring-framework/issues/27972) - Spring AOP cannot generate proxy for lambda on Java 16+ [#27971](https://togithub.com/spring-projects/spring-framework/issues/27971) - RestTemplate reading Json prohibits JDK HttpClient connection reuse (keep-alive) [#27969](https://togithub.com/spring-projects/spring-framework/issues/27969) - Deprecate AsyncTaskExecutor.execute(Runnable task, long startTimeout) [#27959](https://togithub.com/spring-projects/spring-framework/issues/27959) - Add CacheErrorHandler implementation that logs exceptions rather than rethrowing them [#27826](https://togithub.com/spring-projects/spring-framework/pull/27826) - Support for CGLIB BeanMap utility on JDK 17 [#27802](https://togithub.com/spring-projects/spring-framework/issues/27802) - Avoid message listener recovery in case of persistence exceptions from external transaction manager [#1807](https://togithub.com/spring-projects/spring-framework/pull/1807) ##### :lady_beetle: Bug Fixes - Fix CronExpression fails to calculate next execution on the day of daylight saving time [#28044](https://togithub.com/spring-projects/spring-framework/pull/28044) - CronExpression fails to calculate next execution on the day of daylight saving time [#28038](https://togithub.com/spring-projects/spring-framework/issues/28038) - Using recursive annotations in Kotlin causes stack overflow [#28012](https://togithub.com/spring-projects/spring-framework/issues/28012) - Add formatting for SockJS close GoAway frame to prevent infinite loop for xhr-polling and xhr-streaming transport [#28000](https://togithub.com/spring-projects/spring-framework/pull/28000) - Reflective method invocation does not detect interface method when interface is declared in a subclass (e.g. HashMap.HashIterator.hasNext) [#27995](https://togithub.com/spring-projects/spring-framework/issues/27995) - ReflectionUtils.USER_DECLARED_METHODS does not filter methods declared in java.lang.Object [#27970](https://togithub.com/spring-projects/spring-framework/issues/27970) - CronExpression doesn't handle Quartz weekday of month expressions correctly [#27966](https://togithub.com/spring-projects/spring-framework/issues/27966) - ServletServerHttpRequest getHeaders() throws IllegalArgumentException instead of ignoring invalid content type */* [#27957](https://togithub.com/spring-projects/spring-framework/issues/27957) - PropertySourcesPlaceholderConfigurer ignores ignoreUnresolvablePlaceholders flag [#27947](https://togithub.com/spring-projects/spring-framework/issues/27947) - Fix regression in BeanPropertyRowMapper regarding underscore name [#27941](https://togithub.com/spring-projects/spring-framework/pull/27941) - WebClient corrupts binary data when trying to upload many files [#27939](https://togithub.com/spring-projects/spring-framework/issues/27939) - Spring fails to determine XML is XSD-based if DOCTYPE appears in a comment [#27915](https://togithub.com/spring-projects/spring-framework/issues/27915) - ResourceHttpRequestHandler with PathPatternParser cannot resolve resources with a jsessionid URL [#27913](https://togithub.com/spring-projects/spring-framework/issues/27913) ##### :notebook_with_decorative_cover: Documentation - Improve documentation for uri(URI) method in WebTestClient regarding base URI [#28058](https://togithub.com/spring-projects/spring-framework/issues/28058) - Polish reference docs (core) [#28004](https://togithub.com/spring-projects/spring-framework/pull/28004) - Fix ServletUriComponentsBuilder examples in ref docs [#27984](https://togithub.com/spring-projects/spring-framework/pull/27984) - Improve documentation for implementing AspectJ around advice [#27980](https://togithub.com/spring-projects/spring-framework/issues/27980) - Fix CaffeineCacheManager configuration in the documentation [#27967](https://togithub.com/spring-projects/spring-framework/pull/27967) - Fix Javadoc links to JSR 305 annotations [#27904](https://togithub.com/spring-projects/spring-framework/issues/27904) - Document how to register annotated classes with a GenericWebApplicationContext [#27778](https://togithub.com/spring-projects/spring-framework/issues/27778) ##### :hammer: Dependency Upgrades - Upgrade to Reactor 2020.0.16 [#28039](https://togithub.com/spring-projects/spring-framework/issues/28039) ##### :heart: Contributors We'd like to thank all the contributors who worked on this release! - [@wkwkhautbois](https://togithub.com/wkwkhautbois) - [@arey](https://togithub.com/arey) - [@izeye](https://togithub.com/izeye) - [@elgleidson](https://togithub.com/elgleidson) - [@An1s9n](https://togithub.com/An1s9n) - [@drewtul](https://togithub.com/drewtul) - [@Drezir](https://togithub.com/Drezir) - [@mgmeiner](https://togithub.com/mgmeiner) - [@vikeychen](https://togithub.com/vikeychen) - [@zbykovskyi](https://togithub.com/zbykovskyi) - [@mdeinum](https://togithub.com/mdeinum) - [@shirohoo](https://togithub.com/shirohoo) ### [`v5.3.15`](https://togithub.com/spring-projects/spring-framework/releases/tag/v5.3.15) ##### :star: New Features - PrintingResultHandler in MockMvc should infer UTF-8 encoding for JSON response [#27926](https://togithub.com/spring-projects/spring-framework/issues/27926) - WebFlux request id should not contain internal IPs [#27885](https://togithub.com/spring-projects/spring-framework/issues/27885) - Deprecate inappropriate getBeanFactory() method in AbstractBeanDefinitionReader [#27875](https://togithub.com/spring-projects/spring-framework/issues/27875) - Make `H2SequenceMaxValueIncrementer` compatible with H2 database 2.0.x [#27870](https://togithub.com/spring-projects/spring-framework/pull/27870) - Improve error message in ResolvableType.forClassWithGenerics() [#27847](https://togithub.com/spring-projects/spring-framework/issues/27847) - Use of RequestPart with String leads to a file descriptor leak [#27773](https://togithub.com/spring-projects/spring-framework/issues/27773) - Expose headers from native client request after request is committed [#27768](https://togithub.com/spring-projects/spring-framework/pull/27768) ##### :lady_beetle: Bug Fixes - Cannot read server-sent events without data (a.k.a. heartbeats) [#27923](https://togithub.com/spring-projects/spring-framework/issues/27923) - ArrayIndexOutOfBoundsException with STOMP and Jetty 10 [#27899](https://togithub.com/spring-projects/spring-framework/issues/27899) - ServerHttpResponseDecorator does not delegate methods for raw status code [#27889](https://togithub.com/spring-projects/spring-framework/pull/27889) - Clear cache when clearing argument resolvers [#27888](https://togithub.com/spring-projects/spring-framework/pull/27888) - Duplicated content-type response header on error response [#27887](https://togithub.com/spring-projects/spring-framework/issues/27887) ##### :notebook_with_decorative_cover: Documentation - Fix syntax in WebFlux Validation example [#27907](https://togithub.com/spring-projects/spring-framework/pull/27907) - Add Section on Authorization to STOMP WebSocket documentation [#27906](https://togithub.com/spring-projects/spring-framework/issues/27906) - Correct not compiling example code in Data Access docs [#27886](https://togithub.com/spring-projects/spring-framework/pull/27886) ##### :hammer: Dependency Upgrades - Upgrade to Reactor 2020.0.15 [#27897](https://togithub.com/spring-projects/spring-framework/issues/27897) ##### :heart: Contributors We'd like to thank all the contributors who worked on this release! - [@izeye](https://togithub.com/izeye) - [@justlikeliuen](https://togithub.com/justlikeliuen) - [@waahhh](https://togithub.com/waahhh) - [@kth496](https://togithub.com/kth496) - [@sokomishalov](https://togithub.com/sokomishalov) - [@hpoettker](https://togithub.com/hpoettker) - [@wengertj](https://togithub.com/wengertj) - [@figroc](https://togithub.com/figroc) - [@springmonster](https://togithub.com/springmonster) - [@demkom58](https://togithub.com/demkom58) ### [`v5.3.14`](https://togithub.com/spring-projects/spring-framework/releases/tag/v5.3.14) #### :star: New Features - Add default methods to CachingConfigurer [#27811](https://togithub.com/spring-projects/spring-framework/issues/27811) - Provide a variant of ListableBeanFactory.findAnnotationOnBean(String, Class) that does not initialize factory beans [#27796](https://togithub.com/spring-projects/spring-framework/issues/27796) - Convert single `null` argument to `Optional.empty()` in SpEL varargs expression [#27795](https://togithub.com/spring-projects/spring-framework/issues/27795) - Declare serialVersionUID on DefaultAopProxyFactory [#27784](https://togithub.com/spring-projects/spring-framework/issues/27784) - The ReactorClientHttpConnector must apply mapper before tcpConfiguration() [#27749](https://togithub.com/spring-projects/spring-framework/issues/27749) - Add getter for RequestMappingInfo builder config [#27723](https://togithub.com/spring-projects/spring-framework/pull/27723) - Give warning when using capturing patterns with the AntPathMatcher [#27688](https://togithub.com/spring-projects/spring-framework/issues/27688) - Support for customization of 404 response when RouterFunctionWebHandler finds no routes [#25358](https://togithub.com/spring-projects/spring-framework/pull/25358) - ModelAndView.status does not work with RedirectView [#25092](https://togithub.com/spring-projects/spring-framework/pull/25092) - ThreadPoolExecutorFactoryBean add ability to prestart threads [#1246](https://togithub.com/spring-projects/spring-framework/pull/1246) - Support empty attributes in TagWriter [#910](https://togithub.com/spring-projects/spring-framework/pull/910) #### :lady_beetle: Bug Fixes - AsyncConfigurer implementations are loaded too early [#27808](https://togithub.com/spring-projects/spring-framework/issues/27808) - Possible NPE in Spring MVC LogFormatUtils [#27782](https://togithub.com/spring-projects/spring-framework/issues/27782) - Extending CachingConfigurerSupport results in at least one log message about not being eligible for full post-processing [#27751](https://togithub.com/spring-projects/spring-framework/issues/27751) - WebFlux ServerResponse does not overwrite already present response headers [#27741](https://togithub.com/spring-projects/spring-framework/issues/27741) - Passing single null value in varargs SpEL expression results in NullPointerException [#27719](https://togithub.com/spring-projects/spring-framework/issues/27719) - UriUtils::extractFileExtension does not properly handle empty file names [#27639](https://togithub.com/spring-projects/spring-framework/issues/27639) - References of CountingBeforeAdvice target its previous location [#22246](https://togithub.com/spring-projects/spring-framework/pull/22246) - ProxyFactoryBean getObject called before setInterceptorNames, silently creating an invalid proxy \[SPR-7582] [#12238](https://togithub.com/spring-projects/spring-framework/issues/12238) #### :notebook_with_decorative_cover: Documentation - Remove references to AsyncConfigurerSupport as AsyncConfigurer should be used instead [#27812](https://togithub.com/spring-projects/spring-framework/issues/27812) - Fix javadoc reference to ThrowsAdvice [#27804](https://togithub.com/spring-projects/spring-framework/pull/27804) - Suggested WebSocket config causes circular bean reference [#27746](https://togithub.com/spring-projects/spring-framework/issues/27746) - Document the difference in generics resolution between `@Autowired` and `beanFactory.getBeanProvider` [#27727](https://togithub.com/spring-projects/spring-framework/issues/27727) - Clarify that interface-level cache annotations work for target-class proxies as well [#27726](https://togithub.com/spring-projects/spring-framework/pull/27726) -Configuration
📅 Schedule: 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 is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by Mend Renovate. View repository job log here.