spring-projects/spring-framework
### [`v5.3.12`](https://togithub.com/spring-projects/spring-framework/releases/v5.3.12)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v5.3.11...v5.3.12)
##### :lady_beetle: Bug Fixes
- Update warn log message for empty static resource locations [#27575](https://togithub.com/spring-projects/spring-framework/issues/27575)
- Default content type of response changed in v5.3.11 [#27573](https://togithub.com/spring-projects/spring-framework/issues/27573)
- Fix assertion failure messages in DefaultDataBuffer.checkIndex() [#27567](https://togithub.com/spring-projects/spring-framework/pull/27567)
##### :notebook_with_decorative_cover: Documentation
- Incorrect Javadoc in \[NamedParameter]JdbcOperations.queryForObject methods regarding exceptions [#27559](https://togithub.com/spring-projects/spring-framework/issues/27559)
##### :heart: Contributors
We'd like to thank all the contributors who worked on this release!
- [@smilep](https://togithub.com/smilep)
- [@ebradshaw](https://togithub.com/ebradshaw)
### [`v5.3.11`](https://togithub.com/spring-projects/spring-framework/releases/v5.3.11)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v5.3.10...v5.3.11)
##### :star: New Features
- Enhance DefaultResponseErrorHandler to allow logging complete error response body [#27552](https://togithub.com/spring-projects/spring-framework/issues/27552)
- Include correct keyword in CookieAssertions failure messages [#27550](https://togithub.com/spring-projects/spring-framework/pull/27550)
- Use Arrays.hashCode() in ByteArrayResource.hashCode() [#27544](https://togithub.com/spring-projects/spring-framework/pull/27544)
- Allow default CacheAwareContextLoaderDelegate configuration via a system property [#27540](https://togithub.com/spring-projects/spring-framework/issues/27540)
- Invoke bean-derived (Auto)Closeable.close() method directly [#27504](https://togithub.com/spring-projects/spring-framework/issues/27504)
- Defensive reference to JNDI API for JDK 9+ (optional `java.naming` module) [#27483](https://togithub.com/spring-projects/spring-framework/issues/27483)
- DefaultMessageListenerContainer does not log an error/warning when consumer tasks have been rejected [#27451](https://togithub.com/spring-projects/spring-framework/issues/27451)
- Provide accessor on externallyManaged RootBeanDefinition attributes [#27449](https://togithub.com/spring-projects/spring-framework/issues/27449)
- Allow to avoid class validation in `CglibAopProxy` via `ProxyFactory` [#27439](https://togithub.com/spring-projects/spring-framework/issues/27439)
- Add support for non-public record declarations [#27437](https://togithub.com/spring-projects/spring-framework/issues/27437)
- Emit WebClientResponseException for malformed HTTP response [#27262](https://togithub.com/spring-projects/spring-framework/pull/27262)
- DatabasePopulatorUtils.execute should commit if the current Connection has auto-commit set to false [#27008](https://togithub.com/spring-projects/spring-framework/issues/27008)
##### :lady_beetle: Bug Fixes
- CronTrigger uses new Date() instead of context's Clock [#27546](https://togithub.com/spring-projects/spring-framework/issues/27546)
- Performance impact of con.getContentLengthLong() in AbstractFileResolvingResource.isReadable() downloading huge jars to check component length [#27541](https://togithub.com/spring-projects/spring-framework/issues/27541)
- Performance impact of ResourceUrlEncodingFilter on HttpServletResponse#encodeURL [#27538](https://togithub.com/spring-projects/spring-framework/issues/27538)
- UriTemplateRequestEntity doesn't override hashCode() and equals() [#27531](https://togithub.com/spring-projects/spring-framework/issues/27531)
- DataBufferUtils.write loses context [#27517](https://togithub.com/spring-projects/spring-framework/issues/27517)
- Avoid duplicate JCacheOperationSource bean registration in \ [#27499](https://togithub.com/spring-projects/spring-framework/pull/27499)
- Proxy generation with Java 17 fails with "Cannot invoke "Object.getClass()" because "cause" is null" [#27490](https://togithub.com/spring-projects/spring-framework/issues/27490)
- MediaType.sortBySpecificityAndQuality throws java.lang.IllegalArgumentException: Comparison method violates its general contract [#27488](https://togithub.com/spring-projects/spring-framework/issues/27488)
- Leading whitespaces are removed while reading SSE response [#27473](https://togithub.com/spring-projects/spring-framework/issues/27473)
- Non-escaped closing curly brace in RegEx results in initialization error on Android [#27467](https://togithub.com/spring-projects/spring-framework/issues/27467)
- ConcurrentReferenceHashMap's entrySet violates the Map contract [#27454](https://togithub.com/spring-projects/spring-framework/issues/27454)
- Avoid early ConversionService determination in StandardBeanExpressionResolver [#27446](https://togithub.com/spring-projects/spring-framework/issues/27446)
- Spring Framework >= 5.3.8 ASM ClassReader fails to parse class file due to InputStream optimization [#27429](https://togithub.com/spring-projects/spring-framework/issues/27429)
- StringUtils.collectionToDelimitedString(?) fails with NullPointerException when the collection contains null [#27419](https://togithub.com/spring-projects/spring-framework/pull/27419)
- Spring HATEOAS results in 406 with Kotlin Coroutine and ResponseEntity in WebFlux [#27292](https://togithub.com/spring-projects/spring-framework/issues/27292)
##### :notebook_with_decorative_cover: Documentation
- Remove remark about missing caching API. [#27501](https://togithub.com/spring-projects/spring-framework/pull/27501)
##### :hammer: Dependency Upgrades
- Upgrade to JUnit 5.8.1 [#27450](https://togithub.com/spring-projects/spring-framework/issues/27450)
- Upgrade to Reactor 2020.0.12 [#27527](https://togithub.com/spring-projects/spring-framework/issues/27527)
- Upgrade to SmallRye Mutiny 1.1.1 [#27555](https://togithub.com/spring-projects/spring-framework/pull/27555)
##### :heart: Contributors
We'd like to thank all the contributors who worked on this release!
- [@hantsy](https://togithub.com/hantsy)
- [@koenpunt](https://togithub.com/koenpunt)
- [@schauder](https://togithub.com/schauder)
- [@Koooooo-7](https://togithub.com/Koooooo-7)
- [@ascopes](https://togithub.com/ascopes)
- [@nivolg](https://togithub.com/nivolg)
- [@xixingya](https://togithub.com/xixingya)
- [@stsypanov](https://togithub.com/stsypanov)
### [`v5.3.10`](https://togithub.com/spring-projects/spring-framework/releases/v5.3.10)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v5.3.9...v5.3.10)
##### :star: New Features
- Invalid JavaBean property 'logoutHandlers' being accessed (warning in the logs for Spring Security's ConcurrentSessionFilter) [#27372](https://togithub.com/spring-projects/spring-framework/issues/27372)
- Convenient configuration of type permissions for XStream 1.4.18 [#27343](https://togithub.com/spring-projects/spring-framework/issues/27343)
- Add SmallRye Mutiny support to ReactiveAdapterRegistry [#27331](https://togithub.com/spring-projects/spring-framework/pull/27331)
- Introduce `ExceptionCollector` testing utility [#27316](https://togithub.com/spring-projects/spring-framework/issues/27316)
- Support `TimeUnit` in the `@Scheduled` annotation [#27309](https://togithub.com/spring-projects/spring-framework/pull/27309)
- Make it possible to determine if circular references are prohibited or if the cycle just couldn't be broken [#27289](https://togithub.com/spring-projects/spring-framework/issues/27289)
- Support Charset for character encoding in MockMvc [#27231](https://togithub.com/spring-projects/spring-framework/issues/27231)
- Support default character encoding for response in MockMvc [#27230](https://togithub.com/spring-projects/spring-framework/issues/27230)
- Introduce `setDefaultCharacterEncoding()` in `MockHttpServletResponse` [#27214](https://togithub.com/spring-projects/spring-framework/issues/27214)
- Use MessageSource for `@ExceptionHandler` methods [#27203](https://togithub.com/spring-projects/spring-framework/pull/27203)
- ResponseStatusException.initCause always throws IllegalStateException [#27196](https://togithub.com/spring-projects/spring-framework/issues/27196)
- Introduce soft assertions for WebTestClient [#26969](https://togithub.com/spring-projects/spring-framework/pull/26969)
- Introduce soft assertions for MockMvc [#26917](https://togithub.com/spring-projects/spring-framework/pull/26917)
- Blockhound flags a blocking call when WebFlux serves a static resource [#26631](https://togithub.com/spring-projects/spring-framework/issues/26631)
- Optimize memory allocations in StringUtils#cleanPath [#26316](https://togithub.com/spring-projects/spring-framework/pull/26316)
- InvocableHandlerMethod calls makeAccessible(getBridgedMethod()) on every call \[SPR-15230] [#19795](https://togithub.com/spring-projects/spring-framework/issues/19795)
##### :lady_beetle: Bug Fixes
- Support char, float, and double primitive default values in BeanUtils.instantiateClass() [#27390](https://togithub.com/spring-projects/spring-framework/pull/27390)
- Fix memory leak on AOP Proxy class definition cache [#27375](https://togithub.com/spring-projects/spring-framework/pull/27375)
- Fix response body missing 1st byte inside UnknownContentTypeException [#27374](https://togithub.com/spring-projects/spring-framework/pull/27374)
- CommonsMultipartResolver and DEBUG logging lead to empty fileMap in MultipartHttpServletRequest [#27350](https://togithub.com/spring-projects/spring-framework/issues/27350)
- Fix UrlPathHelper#shouldRemoveSemicolonContent() [#27303](https://togithub.com/spring-projects/spring-framework/pull/27303)
- CompositeUriComponentsContributor#hasContributors: method name is not compliant with its intention [#27271](https://togithub.com/spring-projects/spring-framework/issues/27271)
- Error with formatMapping method in AbstractMethodMessageHandler.java [#27247](https://togithub.com/spring-projects/spring-framework/issues/27247)
- Apply default `ResultHandler`s before default `ResultMatcher`s in `MockMvc` [#27225](https://togithub.com/spring-projects/spring-framework/issues/27225)
- `MockHttpServletResponse.characterEncoding` should not be `@Nullable` [#27219](https://togithub.com/spring-projects/spring-framework/issues/27219)
- WebSocketMessageBrokerStats.getExecutorStatsInfo() throws exception if Executor is not a ThreadPoolExecutor [#27209](https://togithub.com/spring-projects/spring-framework/issues/27209)
- `HtmlUnitRequestBuilder` ignores file uploaded via `HtmlFileInput.setData()` [#27199](https://togithub.com/spring-projects/spring-framework/issues/27199)
##### :notebook_with_decorative_cover: Documentation
- Fix wording in Javadoc of ClientResponse.mutate() [#27389](https://togithub.com/spring-projects/spring-framework/pull/27389)
- Fix some typos and mistakes in docs [#27388](https://togithub.com/spring-projects/spring-framework/pull/27388)
- Fix misplaced comma in AOP doc [#27387](https://togithub.com/spring-projects/spring-framework/pull/27387)
- Fix Kotlin example for filtering handler functions [#27337](https://togithub.com/spring-projects/spring-framework/pull/27337)
- Document when `prepareTestInstance()` is invoked when using the `SpringMethodRule` [#27305](https://togithub.com/spring-projects/spring-framework/issues/27305)
- Fix duplicated "the" occurrences in Javadoc and XSD [#27291](https://togithub.com/spring-projects/spring-framework/pull/27291)
- Fix typo in DefaultPartHttpMessageReader [#27260](https://togithub.com/spring-projects/spring-framework/pull/27260)
- Fix reference to Optional.isPresent() in ObjectUtils.isEmpty() [#27223](https://togithub.com/spring-projects/spring-framework/pull/27223)
- Clarify that ClientRequest.from(..) also copies body [#27220](https://togithub.com/spring-projects/spring-framework/pull/27220)
- `@Cacheable` caches empty Optionals but documentation states otherwise [#27184](https://togithub.com/spring-projects/spring-framework/issues/27184)
- Reference docs missing left-hand side navigation [#27177](https://togithub.com/spring-projects/spring-framework/issues/27177)
##### :hammer: Dependency Upgrades
- Compatibility with Jackson 2.13 [#27206](https://togithub.com/spring-projects/spring-framework/issues/27206)
- Upgrade to JUnit 5.8 [#27392](https://togithub.com/spring-projects/spring-framework/issues/27392)
- Upgrade to Kotlin 1.5.30 [#27371](https://togithub.com/spring-projects/spring-framework/issues/27371)
- Upgrade to Reactor 2020.0.11 [#27399](https://togithub.com/spring-projects/spring-framework/issues/27399)
##### :heart: Contributors
We'd like to thank all the contributors who worked on this release!
- [@leeseojune53](https://togithub.com/leeseojune53)
- [@AlexejTimonin](https://togithub.com/AlexejTimonin)
- [@joshua-qa](https://togithub.com/joshua-qa)
- [@marschall](https://togithub.com/marschall)
- [@hantsy](https://togithub.com/hantsy)
- [@juchanei](https://togithub.com/juchanei)
- [@izeye](https://togithub.com/izeye)
- [@takeaction21](https://togithub.com/takeaction21)
- [@yokotaso](https://togithub.com/yokotaso)
- [@gushev](https://togithub.com/gushev)
- [@Yin-Jui](https://togithub.com/Yin-Jui)
- [@evpaassen](https://togithub.com/evpaassen)
- [@matvs](https://togithub.com/matvs)
- [@crlikcngroup](https://togithub.com/crlikcngroup)
- [@ydh6226](https://togithub.com/ydh6226)
- [@knittl](https://togithub.com/knittl)
- [@Inmord](https://togithub.com/Inmord)
- [@benelog](https://togithub.com/benelog)
- [@Axzial](https://togithub.com/Axzial)
- [@quaff](https://togithub.com/quaff)
- [@di72nn](https://togithub.com/di72nn)
- [@aoudiamoncef](https://togithub.com/aoudiamoncef)
- [@lyxell](https://togithub.com/lyxell)
- [@mustafau](https://togithub.com/mustafau)
- [@xak2000](https://togithub.com/xak2000)
- [@manish-in-java](https://togithub.com/manish-in-java)
- [@wyhasany](https://togithub.com/wyhasany)
- [@GrantFleming](https://togithub.com/GrantFleming)
- [@w3-3w](https://togithub.com/w3-3w)
- [@Syuziko](https://togithub.com/Syuziko)
### [`v5.3.9`](https://togithub.com/spring-projects/spring-framework/releases/v5.3.9)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v5.3.8...v5.3.9)
##### :star: New Features
- Configure CommonsMultipartResolver to support specific HTTP methods [#27161](https://togithub.com/spring-projects/spring-framework/issues/27161)
- Allow BeanDefinitionBuilder to set an instance supplier with a ResolvableType [#27160](https://togithub.com/spring-projects/spring-framework/issues/27160)
- Reason of `@ResponseStatus` on handler method is not resolved by MessageSource [#27156](https://togithub.com/spring-projects/spring-framework/issues/27156)
- ResourceHandlerRegistry#getHandlerMapping should initialize handler once in outer loop [#27153](https://togithub.com/spring-projects/spring-framework/issues/27153)
- Set synthetic flag using BeanDefinitionBuilder [#27141](https://togithub.com/spring-projects/spring-framework/issues/27141)
- BeanCreationException error message should always include declaring class of constructor (or factory method) [#27139](https://togithub.com/spring-projects/spring-framework/issues/27139)
- Improve Jetty 10 check in JettyClientHttpResponse [#27136](https://togithub.com/spring-projects/spring-framework/issues/27136)
- Jetty10RequestUpgradeStrategy use an old jetty 9 class HandshakeRFC6455 [#27121](https://togithub.com/spring-projects/spring-framework/issues/27121)
- ClassNotFoundException using Jetty 10 and its reactive client [#27112](https://togithub.com/spring-projects/spring-framework/issues/27112)
- Use StringBuilder.append(char) where possible [#27098](https://togithub.com/spring-projects/spring-framework/issues/27098)
- Consider "wss" and "https" for secure flag in Forwarded header checks [#27097](https://togithub.com/spring-projects/spring-framework/issues/27097)
- SynchronossPartHttpMessageReader should only create temp directory when needed [#27092](https://togithub.com/spring-projects/spring-framework/issues/27092)
- Implement equals, hashCode, & toString in BeanMethod and \*Metadata types [#27076](https://togithub.com/spring-projects/spring-framework/issues/27076)
- Remove logging dependency in BeanUtils [#27070](https://togithub.com/spring-projects/spring-framework/issues/27070)
- Exclude sealed interfaces from auto-proxying (for JDK 17 compatibility) [#27027](https://togithub.com/spring-projects/spring-framework/issues/27027)
- Blockhound error when running with transaction with a TransactionOperator [#26955](https://togithub.com/spring-projects/spring-framework/issues/26955)
- Configure StandardServletMultipartResolver to only support multipart/form-data [#26826](https://togithub.com/spring-projects/spring-framework/issues/26826)
- Add a way to set executeExistingDelayedTasksAfterShutdown from ThreadPoolTaskScheduler [#26719](https://togithub.com/spring-projects/spring-framework/issues/26719)
- Apply dynamic changes in ThreadPoolTaskExecutor before setting local value [#26700](https://togithub.com/spring-projects/spring-framework/pull/26700)
##### :beetle: Bug Fixes
- JettyHttpHandlerAdapter is not aware of Server\[Request|Response]Wrapper [#27146](https://togithub.com/spring-projects/spring-framework/issues/27146)
- {\*path} pattern (CaptureTheRestPathElement) includes undocumented leading slash in `@PathVariable` path [#27132](https://togithub.com/spring-projects/spring-framework/issues/27132)
- NoSuchMethodError when invoke JettyWebSocketSession.getRemoteAddress in jetty 10 [#27120](https://togithub.com/spring-projects/spring-framework/issues/27120)
- CronExpression is *still* broken on spring-context-5.3.8 [#27117](https://togithub.com/spring-projects/spring-framework/issues/27117)
- SimpleMethodMetadataReadingVisitor.Source.toString() omits separator for method arguments [#27095](https://togithub.com/spring-projects/spring-framework/issues/27095)
- DefaultPathSegment allows shared empty parameters map to be mutated [#27064](https://togithub.com/spring-projects/spring-framework/issues/27064)
- AOP auto-proxying with proxyTargetClass=true and introduction advice does not work for JDK proxy targets [#27044](https://togithub.com/spring-projects/spring-framework/issues/27044)
- ServletRequestDataBinder assumes Standard servlet multipart handling [#26999](https://togithub.com/spring-projects/spring-framework/issues/26999)
- DataClassRowMapper should not override Kotlin init properties [#26569](https://togithub.com/spring-projects/spring-framework/pull/26569)
##### :notebook_with_decorative_cover: Documentation
- Add Javadoc `@since` to `BeanDefinitionBuilder.setSynthetic()` [#27155](https://togithub.com/spring-projects/spring-framework/pull/27155)
- Fix link to Javadoc API [#27151](https://togithub.com/spring-projects/spring-framework/pull/27151)
- Added description for HandlerInterceptor [#27122](https://togithub.com/spring-projects/spring-framework/pull/27122)
- Fix typo in core-beans.adoc [#27113](https://togithub.com/spring-projects/spring-framework/pull/27113)
- Fix typo in BeanDefinitionDsl.kt [#27105](https://togithub.com/spring-projects/spring-framework/pull/27105)
- Improve docs for getContentAsByteArray method of ContentCachingRequestWrapper [#27068](https://togithub.com/spring-projects/spring-framework/issues/27068)
- Fix explanation on default settings for content negotiation in reference doc [#27067](https://togithub.com/spring-projects/spring-framework/pull/27067)
- Document that any `@Valid*` annotation triggers validation in the reference manual [#27050](https://togithub.com/spring-projects/spring-framework/issues/27050)
- Improve RequestPartMethodArgumentResolver Javadoc [#27043](https://togithub.com/spring-projects/spring-framework/pull/27043)
- Improve RequestResponseBodyMethodProcessor Javadoc [#27042](https://togithub.com/spring-projects/spring-framework/pull/27042)
- Clarify that baseName in ResourceBundleMessageSource does not support multiple locations [#27038](https://togithub.com/spring-projects/spring-framework/issues/27038)
- Link alternate documentation formats [#27015](https://togithub.com/spring-projects/spring-framework/pull/27015)
##### :hammer: Dependency Upgrades
- Compatibility with HtmlUnit 2.51 [#27147](https://togithub.com/spring-projects/spring-framework/issues/27147)
- Upgrade to ASM 9.2 (for early Java 18 support) [#27069](https://togithub.com/spring-projects/spring-framework/issues/27069)
- Upgrade to Kotlin 1.5.21 [#27110](https://togithub.com/spring-projects/spring-framework/issues/27110)
- Upgrade to Kotlin Coroutines 1.5.1 [#27157](https://togithub.com/spring-projects/spring-framework/issues/27157)
- Upgrade to Mockk 1.11.0 [#27109](https://togithub.com/spring-projects/spring-framework/issues/27109)
- Upgrade to Reactor 2020.0.9 [#27158](https://togithub.com/spring-projects/spring-framework/issues/27158)
##### :heart: Contributors
We'd like to thank all the contributors who worked on this release!
- [@hrybs](https://togithub.com/hrybs)
- [@filiphr](https://togithub.com/filiphr)
- [@takumi34](https://togithub.com/takumi34)
- [@diguage](https://togithub.com/diguage)
- [@dennie170](https://togithub.com/dennie170)
- [@duan847](https://togithub.com/duan847)
- [@Dunemaster](https://togithub.com/Dunemaster)
- [@izeye](https://togithub.com/izeye)
- [@GungnirLaevatain](https://togithub.com/GungnirLaevatain)
- [@Buzzardo](https://togithub.com/Buzzardo)
- [@devorio](https://togithub.com/devorio)
- [@HubertWo](https://togithub.com/HubertWo)
- [@sangyongchoi](https://togithub.com/sangyongchoi)
### [`v5.3.8`](https://togithub.com/spring-projects/spring-framework/releases/v5.3.8)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v5.3.7...v5.3.8)
#### :star: New Features
- HttpComponentsClientHttpConnector should close underlying resources [#27032](https://togithub.com/spring-projects/spring-framework/issues/27032)
- Default value of StandaloneMockMvcBuilder.useSuffixPatternMatch differs from the same property in RequestMappingHandlerMapping [#27030](https://togithub.com/spring-projects/spring-framework/issues/27030)
- Lookup method autowiring ignores method's generic info [#26998](https://togithub.com/spring-projects/spring-framework/issues/26998)
- Set BEST_MATCHING_PATTERN_ATTRIBUTE on requests with WebMvc.fn [#26963](https://togithub.com/spring-projects/spring-framework/issues/26963)
- Remove jackson-module-kotlin warning [#26962](https://togithub.com/spring-projects/spring-framework/issues/26962)
- Switch back to parallel thread after WebSession id is generated [#26958](https://togithub.com/spring-projects/spring-framework/issues/26958)
- Introduce ResponseEntity.internalServerError() [#26952](https://togithub.com/spring-projects/spring-framework/pull/26952)
- Polish PORT_PATTERN in UriComponentsBuilder [#26951](https://togithub.com/spring-projects/spring-framework/pull/26951)
- Deprecate/Remove internal APIs in ScriptUtils implementations [#26947](https://togithub.com/spring-projects/spring-framework/issues/26947)
- Consider returning static DefaultApplicationStartup step [#26939](https://togithub.com/spring-projects/spring-framework/issues/26939)
- Exception in Tomcat when SockJS top URL is a WebSocket upgrade [#26933](https://togithub.com/spring-projects/spring-framework/issues/26933)
- Improve support for port numbers in allowedOriginPattern of CorsConfiguration [#26927](https://togithub.com/spring-projects/spring-framework/pull/26927)
- Add ApplicationEvent constructor for specifying timestamp [#26871](https://togithub.com/spring-projects/spring-framework/pull/26871)
- Add awaitExchangeOrNull extension function to reactive webclient [#26778](https://togithub.com/spring-projects/spring-framework/pull/26778)
#### :beetle: Bug Fixes
- Revisit fix for [gh-26905](https://togithub.com/spring-projects/spring-framework/issues/26905) in UriComponentsBuilder [#27039](https://togithub.com/spring-projects/spring-framework/issues/27039)
- MultipartHttpMessageWriter in WebClient doesn't use custom Jackson Encoder since 5.3.3 [#27017](https://togithub.com/spring-projects/spring-framework/issues/27017)
- PartFile name lost when building a MultiPart [#27007](https://togithub.com/spring-projects/spring-framework/issues/27007)
- No replacement of deprecated CronSequenceGenerator.isValidExpression [#26996](https://togithub.com/spring-projects/spring-framework/issues/26996)
- NPE if StompEndpointRegistry has allowedOrigins with null [#26987](https://togithub.com/spring-projects/spring-framework/issues/26987)
- CronExpression is broken on spring-context-5.3.6 [#26964](https://togithub.com/spring-projects/spring-framework/issues/26964)
- FlightRecorderApplicationStartup is not thread safe [#26941](https://togithub.com/spring-projects/spring-framework/issues/26941)
- Ignore delimiter enclosed in double quotes in ScriptUtils [#26935](https://togithub.com/spring-projects/spring-framework/issues/26935)
- Ignore comments when searching for SQL statement delimiter in ScriptUtils [#26911](https://togithub.com/spring-projects/spring-framework/issues/26911)
#### :notebook_with_decorative_cover: Documentation
- spring-framework-main-code attribute has not been expanded in docs [#27041](https://togithub.com/spring-projects/spring-framework/issues/27041)
- Document that class-level `@ResponseStatus` is inherited by `@ExceptionHandler` methods [#27031](https://togithub.com/spring-projects/spring-framework/pull/27031)
- Improve `@Transactional` docs regarding method visibility [#27003](https://togithub.com/spring-projects/spring-framework/issues/27003)
- Fix `@Transactional` examples regarding method visibility [#27001](https://togithub.com/spring-projects/spring-framework/pull/27001)
- Fix typo in code example [#26980](https://togithub.com/spring-projects/spring-framework/pull/26980)
- Document transactional semantics for `@TransactionalEventListener` after completion methods [#26974](https://togithub.com/spring-projects/spring-framework/issues/26974)
- Fix typo [#26973](https://togithub.com/spring-projects/spring-framework/pull/26973)
- Fix broken Javadoc tags [#26967](https://togithub.com/spring-projects/spring-framework/pull/26967)
#### :hammer: Dependency Upgrades
- Upgrade to ASM master [#27023](https://togithub.com/spring-projects/spring-framework/issues/27023)
- Upgrade to Coroutines 1.5.0 [#26897](https://togithub.com/spring-projects/spring-framework/issues/26897)
- Upgrade to JUnit 5.7.2 [#26946](https://togithub.com/spring-projects/spring-framework/issues/26946)
- Upgrade to Kotlin 1.5.10 [#27035](https://togithub.com/spring-projects/spring-framework/issues/27035)
#### :heart: Contributors
We'd like to thank all the contributors who worked on this release!
- [@hrybs](https://togithub.com/hrybs)
- [@dreis2211](https://togithub.com/dreis2211)
- [@dregimbal](https://togithub.com/dregimbal)
- [@eas5](https://togithub.com/eas5)
- [@Beca-se](https://togithub.com/Beca-se)
- [@nhavuong](https://togithub.com/nhavuong)
- [@hunjipo](https://togithub.com/hunjipo)
- [@gabrielerzinger](https://togithub.com/gabrielerzinger)
- [@aaguilera](https://togithub.com/aaguilera)
- [@izeye](https://togithub.com/izeye)
- [@medwards](https://togithub.com/medwards)
- [@chenqimiao](https://togithub.com/chenqimiao)
- [@jbotuck](https://togithub.com/jbotuck)
- [@stsypanov](https://togithub.com/stsypanov)
- [@korektur](https://togithub.com/korektur)
### [`v5.3.7`](https://togithub.com/spring-projects/spring-framework/releases/v5.3.7)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v5.3.6...v5.3.7)
#### :star: New Features
- Ensure multipart temp directories do not collide [#26931](https://togithub.com/spring-projects/spring-framework/issues/26931)
- SpringBeanAutowiringSupport should log at warn level when autowiring fails [#26925](https://togithub.com/spring-projects/spring-framework/issues/26925)
- spring-context-indexer doesn't support Java records [#26909](https://togithub.com/spring-projects/spring-framework/issues/26909)
- Ignore trailing slash in CorsConfiguration origin patterns [#26892](https://togithub.com/spring-projects/spring-framework/issues/26892)
- RSocketRequester disposal of underlying RSocketClient [#26886](https://togithub.com/spring-projects/spring-framework/issues/26886)
- Add PreFlightRequestWebFilter [#26885](https://togithub.com/spring-projects/spring-framework/issues/26885)
- Avoid memory leak when PropertyComparator is reused [#26869](https://togithub.com/spring-projects/spring-framework/pull/26869)
- Support MySQL safe updates mode in MySQLMaxValueIncrementer [#26858](https://togithub.com/spring-projects/spring-framework/issues/26858)
- HttpStatus.resolve allocates HttpStatus.values() once per invocation [#26842](https://togithub.com/spring-projects/spring-framework/issues/26842)
- InvalidPathException in log when running SpringBootTest with NIO Path property on Windows [#26828](https://togithub.com/spring-projects/spring-framework/issues/26828)
- Use String.startsWith() instead of String.substring() in PatternMatchUtils [#26822](https://togithub.com/spring-projects/spring-framework/pull/26822)
- Access to the cachedSessions in CachingConnectionFactory [#26811](https://togithub.com/spring-projects/spring-framework/issues/26811)
- Reduce log level in ExecutorConfigurationSupport.initialize [#26810](https://togithub.com/spring-projects/spring-framework/issues/26810)
- Avoid exceptions when evaluating validation hints [#26787](https://togithub.com/spring-projects/spring-framework/pull/26787)
#### :beetle: Bug Fixes
- UriComponentsBuilder handles invalid port numbers correctly [#26905](https://togithub.com/spring-projects/spring-framework/pull/26905)
- Incorrect check in AbstractBrokerRegistration's constructor [#26896](https://togithub.com/spring-projects/spring-framework/issues/26896)
- DataClassRowMapper doesn't correctly convert generic fields [#26881](https://togithub.com/spring-projects/spring-framework/issues/26881)
- `CorsRegistration#combine` is a noop [#26877](https://togithub.com/spring-projects/spring-framework/issues/26877)
- LinkedCaseInsensitiveMap#putIfAbsent does not honor the case where the key is associated with a null value [#26868](https://togithub.com/spring-projects/spring-framework/issues/26868)
- Provide control over fallback charset to use in WebClientResponseException [#26866](https://togithub.com/spring-projects/spring-framework/issues/26866)
- `@ModelAttribute(binding=false)` is not honored with WebFlux [#26856](https://togithub.com/spring-projects/spring-framework/issues/26856)
- Fix Kotlin filter parameter bug in Router DSLs [#26838](https://togithub.com/spring-projects/spring-framework/issues/26838)
- AbstractListenerReadPublisher publishing onComplete signal before onNext during heavy load [#26834](https://togithub.com/spring-projects/spring-framework/issues/26834)
- MockMvc's MVC_RESULT_ATTRIBUTE lost with HandlerMappingIntrospector and RouterFunctions in use [#26833](https://togithub.com/spring-projects/spring-framework/issues/26833)
- webmvc.fn onError doesn't work with CompletableFuture [#26831](https://togithub.com/spring-projects/spring-framework/issues/26831)
- Daylight saving time issue in CronExpression [#26830](https://togithub.com/spring-projects/spring-framework/issues/26830)
- HandlerMappingIntrospector does not work with PathPattern backed HandlerMappings [#26814](https://togithub.com/spring-projects/spring-framework/issues/26814)
- Addition of fallback patterns to DateFormatter loses cause in Spring 5.3.5 [#26804](https://togithub.com/spring-projects/spring-framework/issues/26804)
- Support empty file uploads with HtmlUnit and MockMvc [#26799](https://togithub.com/spring-projects/spring-framework/issues/26799)
- Cache setup failure does not provide nested cause [#25250](https://togithub.com/spring-projects/spring-framework/issues/25250)
- Fix web parameters resolution when injected via constructor [#25200](https://togithub.com/spring-projects/spring-framework/pull/25200)
#### :notebook_with_decorative_cover: Documentation
- Document feature to load `@ModelAttribute` through type conversion from a request value [#26873](https://togithub.com/spring-projects/spring-framework/issues/26873)
- Improve advice on response handling in an ExchangeFilterFunction [#26819](https://togithub.com/spring-projects/spring-framework/issues/26819)
- Remove leftover Javadoc from WebClient [#26807](https://togithub.com/spring-projects/spring-framework/pull/26807)
- Add information about changed behaviour for resolving `@AuthenticationPrincipal` annotation [#26791](https://togithub.com/spring-projects/spring-framework/issues/26791)
- Update Javadoc on CORS in spring-websocket [#26753](https://togithub.com/spring-projects/spring-framework/issues/26753)
- Add advice on Spring MVC path matching for 5.3 and above to the reference documentation [#26750](https://togithub.com/spring-projects/spring-framework/issues/26750)
#### :hammer: Dependency Upgrades
- Upgrade to Kotlin 1.5.0 [#26792](https://togithub.com/spring-projects/spring-framework/issues/26792)
- Upgrade to Kotlin Serialization 1.2.0 [#26887](https://togithub.com/spring-projects/spring-framework/issues/26887)
- Upgrade to Reactor 2020.0.7 [#26890](https://togithub.com/spring-projects/spring-framework/issues/26890)
#### :heart: Contributors
We'd like to thank all the contributors who worked on this release!
- [@hrybs](https://togithub.com/hrybs)
- [@PizzaCola-K](https://togithub.com/PizzaCola-K)
- [@izeye](https://togithub.com/izeye)
- [@dreis2211](https://togithub.com/dreis2211)
- [@mustafau](https://togithub.com/mustafau)
- [@encircled](https://togithub.com/encircled)
- [@T45K](https://togithub.com/T45K)
- [@mdeinum](https://togithub.com/mdeinum)
- [@stsypanov](https://togithub.com/stsypanov)
- [@glqdlt](https://togithub.com/glqdlt)
- [@FlorianKirmaier](https://togithub.com/FlorianKirmaier)
- [@BryceYangS](https://togithub.com/BryceYangS)
- [@ShindongLee](https://togithub.com/ShindongLee)
- [@hojongs](https://togithub.com/hojongs)
- [@bjh970913](https://togithub.com/bjh970913)
### [`v5.3.6`](https://togithub.com/spring-projects/spring-framework/releases/v5.3.6)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v5.3.5...v5.3.6)
#### :star: New Features
- Make sure file storage directory exists before usage in DefaultPartHttpMessageReader [#26790](https://togithub.com/spring-projects/spring-framework/issues/26790)
- Allow spring-expression to be more easily repackaged for embedding in third-party JARs [#26779](https://togithub.com/spring-projects/spring-framework/pull/26779)
- Support 'Accept-Patch' header in MVC and WebFlux [#26759](https://togithub.com/spring-projects/spring-framework/issues/26759)
- Invalid IPv6 Address with X-Forwarded-For leads to number format exception [#26748](https://togithub.com/spring-projects/spring-framework/issues/26748)
- awaitBodyOrNull function to handle empty body [#26731](https://togithub.com/spring-projects/spring-framework/pull/26731)
- Reactive AbstractErrorWebExceptionHandler#htmlEscape() may be blocking [#26712](https://togithub.com/spring-projects/spring-framework/issues/26712)
- Improve Docs on Testing Streaming Responses in Spring MVC [#26687](https://togithub.com/spring-projects/spring-framework/issues/26687)
- Exceptions for missing request values should expose information when they are missing after conversion [#26679](https://togithub.com/spring-projects/spring-framework/issues/26679)
#### :beetle: Bug Fixes
- Addition of fallback patterns to temporal parser loses cause in Spring 5.3.5 [#26777](https://togithub.com/spring-projects/spring-framework/issues/26777)
- ResourceHttpRequestHandler fails to resolve encoded paths when PathPattern is used [#26775](https://togithub.com/spring-projects/spring-framework/issues/26775)
- Scheduling a task that runs once a day results in March 28 being skipped [#26744](https://togithub.com/spring-projects/spring-framework/issues/26744)
- Support UTF-8 in DefaultPartHttpMessageReader [#26736](https://togithub.com/spring-projects/spring-framework/issues/26736)
- Root path resolution for java.nio.Path properties does not work on Linux anymore [#26702](https://togithub.com/spring-projects/spring-framework/issues/26702)
- `@DirtiesContext` not applied when class-level `@EnabledIf` evaluates to false [#26694](https://togithub.com/spring-projects/spring-framework/issues/26694)
- MappedInterceptor in 5.3 does not support all AntPatternMatcher patterns [#26690](https://togithub.com/spring-projects/spring-framework/issues/26690)
- BridgeMethodResolver#isBridgeMethodFor return incorrect result for kotlin code in certain circumstance [#26585](https://togithub.com/spring-projects/spring-framework/issues/26585)
#### :notebook_with_decorative_cover: Documentation
- Update ref docs regarding RequiredAnnotationBeanPostProcessor registration [#26783](https://togithub.com/spring-projects/spring-framework/pull/26783)
- Update documentation for `` [#26782](https://togithub.com/spring-projects/spring-framework/pull/26782)
- Fix javadoc link syntax [#26776](https://togithub.com/spring-projects/spring-framework/pull/26776)
#### :hammer: Dependency Upgrades
- Upgrade to Objenesis 3.2 [#26714](https://togithub.com/spring-projects/spring-framework/issues/26714)
- Upgrade to Reactor 2020.0.6 [#26767](https://togithub.com/spring-projects/spring-framework/issues/26767)
#### :heart: Contributors
We'd like to thank all the contributors who worked on this release!
- [@hrybs](https://togithub.com/hrybs)
- [@izeye](https://togithub.com/izeye)
- [@runningcode](https://togithub.com/runningcode)
- [@BFergerson](https://togithub.com/BFergerson)
- [@ValentinShakhov](https://togithub.com/ValentinShakhov)
- [@KENNYSOFT](https://togithub.com/KENNYSOFT)
- [@Rebwon](https://togithub.com/Rebwon)
### [`v5.3.5`](https://togithub.com/spring-projects/spring-framework/releases/v5.3.5)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v5.3.4...v5.3.5)
#### :star: New Features
- Expose `@JmsListener` endpoint id to annotation-derived listener container (for transaction definition name) [#26683](https://togithub.com/spring-projects/spring-framework/issues/26683)
- Add support for Oracle bind marker scheme using R2DBC [#26680](https://togithub.com/spring-projects/spring-framework/pull/26680)
- Add HTTP request cookies to the WebSocket handshake info [#26674](https://togithub.com/spring-projects/spring-framework/pull/26674)
- Add an MockMVC alwaysDo equivalent to WebTestClient [#26662](https://togithub.com/spring-projects/spring-framework/issues/26662)
- Ensure ClientResponse logPrefix Contains the Connection Id When Available [#26656](https://togithub.com/spring-projects/spring-framework/issues/26656)
- Make use of Reactor Netty API for request id [#26649](https://togithub.com/spring-projects/spring-framework/issues/26649)
- WriteResultPublisher does not pass cancel signals [#26642](https://togithub.com/spring-projects/spring-framework/issues/26642)
- `@EventListener` annotated bean cannot be removed from the ApplicationEventMulticaster [#26638](https://togithub.com/spring-projects/spring-framework/issues/26638)
- Support global `@MessageExceptionHandler` via `@ControllerAdvice` in RSocket [#26636](https://togithub.com/spring-projects/spring-framework/issues/26636)
- Support UTF-16 and UTF-32 in Jackson HttpMessageConverters [#26627](https://togithub.com/spring-projects/spring-framework/issues/26627)
- Add missing nullable annotation to ResponseEntity ok convenience method [#26613](https://togithub.com/spring-projects/spring-framework/pull/26613)
- OncePerRequestFilter.isAsyncDispatch may return a NPE [#26602](https://togithub.com/spring-projects/spring-framework/issues/26602)
- Allow AOP proxies to be created using the original ClassLoader [#26601](https://togithub.com/spring-projects/spring-framework/issues/26601)
- WebSocketHandlerRegistration is missing option for allowedOriginPatterns [#26593](https://togithub.com/spring-projects/spring-framework/issues/26593)
- HandlerMapping for WebSocket Requests Only [#26565](https://togithub.com/spring-projects/spring-framework/issues/26565)
- Support cookies with Expires attribute but no Max-Age attribute in MockHttpServletResponse [#26558](https://togithub.com/spring-projects/spring-framework/pull/26558)
- Allow logging REST endpoint mappings independent of other log categories [#26539](https://togithub.com/spring-projects/spring-framework/issues/26539)
- Introduce 'idleReceivesPerTaskLimit' in DefaultMessageListenerContainer [#26442](https://togithub.com/spring-projects/spring-framework/pull/26442)
- Improve handling of malformed Accept header for `@ExceptionHandler` methods [#24539](https://togithub.com/spring-projects/spring-framework/issues/24539)
- Support fallback parsing patterns in `@DateTimeFormat` [#20292](https://togithub.com/spring-projects/spring-framework/issues/20292)
#### :beetle: Bug Fixes
- StatusAssertion value methods fail when used with custom status code [#26658](https://togithub.com/spring-projects/spring-framework/pull/26658)
- Jaxb2XmlEncoder Support for Custom XML Media Types [#26655](https://togithub.com/spring-projects/spring-framework/issues/26655)
- Local `@CrossOrigin` maxAge value should override global value [#26619](https://togithub.com/spring-projects/spring-framework/pull/26619)
- Multipart boundary should strip quotes [#26616](https://togithub.com/spring-projects/spring-framework/issues/26616)
- ServerHttpRequest content-type cannot be mutated [#26615](https://togithub.com/spring-projects/spring-framework/issues/26615)
- Correctly set auto-growing array's element [#26600](https://togithub.com/spring-projects/spring-framework/pull/26600)
- Change in behaviour for cron expression with day of the week range starting with SUN [#26598](https://togithub.com/spring-projects/spring-framework/issues/26598)
- Fix handling of "file:" paths to non-existent files on Windows [#26575](https://togithub.com/spring-projects/spring-framework/pull/26575)
- ClassLoader.getResource can throw IllegalArgumentException [#26574](https://togithub.com/spring-projects/spring-framework/pull/26574)
- ResourceUrlProvider detects wrong set of handler mappings [#26561](https://togithub.com/spring-projects/spring-framework/issues/26561)
- Dependency on Servlet 4.0 in spring-test makes it challenging to have Servlet 3.1 at runtime [#26555](https://togithub.com/spring-projects/spring-framework/issues/26555)
- Response writing fails to complete with WebFlux on Tomcat [#26434](https://togithub.com/spring-projects/spring-framework/issues/26434)
- LoadTimeWeaver no longer weaves bean classes annotated with `@Component` [#26199](https://togithub.com/spring-projects/spring-framework/issues/26199)
#### :notebook_with_decorative_cover: Documentation
- Fix Commons FileUpload URL in reference guide [#26678](https://togithub.com/spring-projects/spring-framework/pull/26678)
- Update reference to deprecated CronSequenceGenerator [#26651](https://togithub.com/spring-projects/spring-framework/pull/26651)
- Update ref docs regarding deprecated `@Required` annotation [#26578](https://togithub.com/spring-projects/spring-framework/pull/26578)
- Fix build output directory for ref docs in CONTRIBUTING.md [#26556](https://togithub.com/spring-projects/spring-framework/pull/26556)
- Document all supported SpringProperties keys in the reference manual [#26554](https://togithub.com/spring-projects/spring-framework/issues/26554)
#### :hammer: Dependency Upgrades
- Upgrade to Reactor 2020.0.5 [#26650](https://togithub.com/spring-projects/spring-framework/issues/26650)
#### :heart: Contributors
We'd like to thank all the contributors who worked on this release!
- [@koen-serneels](https://togithub.com/koen-serneels)
- [@sokomishalov](https://togithub.com/sokomishalov)
- [@MichelTenVoorde](https://togithub.com/MichelTenVoorde)
- [@1993heqiang](https://togithub.com/1993heqiang)
- [@koosg](https://togithub.com/koosg)
- [@limo520](https://togithub.com/limo520)
- [@MichalStehlikCz](https://togithub.com/MichalStehlikCz)
- [@cprayer](https://togithub.com/cprayer)
- [@Rebwon](https://togithub.com/Rebwon)
- [@drgnchan](https://togithub.com/drgnchan)
- [@GungnirLaevatain](https://togithub.com/GungnirLaevatain)
- [@ShaoqiangLu](https://togithub.com/ShaoqiangLu)
- [@izeye](https://togithub.com/izeye)
- [@mp911de](https://togithub.com/mp911de)
- [@chenqimiao](https://togithub.com/chenqimiao)
- [@kevin0x90](https://togithub.com/kevin0x90)
- [@alex-krav](https://togithub.com/alex-krav)
- [@candrews](https://togithub.com/candrews)
- [@nullzl](https://togithub.com/nullzl)
### [`v5.3.4`](https://togithub.com/spring-projects/spring-framework/releases/v5.3.4)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v5.3.3...v5.3.4)
#### :star: New Features
- Enforce standard Java types in YamlProcessor [#26530](https://togithub.com/spring-projects/spring-framework/issues/26530)
- Fall back on awaitToBodylessEntity when awaitBody is used with Unit [#26504](https://togithub.com/spring-projects/spring-framework/pull/26504)
- Expose HttpHandler Decoration as a bean [#26502](https://togithub.com/spring-projects/spring-framework/pull/26502)
- Inefficient reflection operations for destroy method determination [#26498](https://togithub.com/spring-projects/spring-framework/issues/26498)
- Missing CORS Headers for Static Resources in WebFlux [#26495](https://togithub.com/spring-projects/spring-framework/issues/26495)
- Ignore null Locale in MockHttpServletResponse [#26493](https://togithub.com/spring-projects/spring-framework/issues/26493)
- Ignore null header value in MockHttpServletResponse [#26488](https://togithub.com/spring-projects/spring-framework/issues/26488)
- Add application/vnd.google.protobuf to ProtobufCodecSupport [#26487](https://togithub.com/spring-projects/spring-framework/pull/26487)
- Expose ChannelId in ReactorNettyWebsocketSession [#26485](https://togithub.com/spring-projects/spring-framework/issues/26485)
- Exclude User Destination Messages in Broker Message Handler [#26474](https://togithub.com/spring-projects/spring-framework/issues/26474)
- UriComponentsBuilder '{' '}' may not be encoded although invalid characters [#26466](https://togithub.com/spring-projects/spring-framework/issues/26466)
- Support BASE64 file name encoding in ContentDisposition [#26463](https://togithub.com/spring-projects/spring-framework/pull/26463)
- Allow AbstractEnvironment subclasses to use custom ConfigurablePropertyResolver and MutablePropertySources [#26462](https://togithub.com/spring-projects/spring-framework/issues/26462)
- Allow AbstractEnvironment to bypass active/default properties [#26461](https://togithub.com/spring-projects/spring-framework/issues/26461)
- No way to affect response when unhandled exceptions thrown from ForwardedHeaderTransformer [#26459](https://togithub.com/spring-projects/spring-framework/issues/26459)
- Support for servletPath prefix with PathPatternParser in Spring MVC [#26445](https://togithub.com/spring-projects/spring-framework/issues/26445)
- Add unique number to WebFlux log prefix for Undertow server [#26430](https://togithub.com/spring-projects/spring-framework/issues/26430)
- Provide a way to modify RequestMappingInfo conditions [#26428](https://togithub.com/spring-projects/spring-framework/issues/26428)
- Provide better lifecyle for WebMvcConfigurer.configurePathMatch [#26427](https://togithub.com/spring-projects/spring-framework/issues/26427)
- Fail early FactoryBean instantiation for LinkageError [#26425](https://togithub.com/spring-projects/spring-framework/pull/26425)
- Unwrap DataSource hidden behind InfrastructureProxy in SqlScriptsTestExecutionListener [#26422](https://togithub.com/spring-projects/spring-framework/issues/26422)
- Close mapping streams after the ValidatorFactory has been built in LocalValidatorFactoryBean [#26418](https://togithub.com/spring-projects/spring-framework/pull/26418)
- Introduce public defineClass variant for SmartClassLoader implementations [#26403](https://togithub.com/spring-projects/spring-framework/issues/26403)
- Return 415 for form data via `@RequestBody` in WebFlux [#26386](https://togithub.com/spring-projects/spring-framework/issues/26386)
- Make set operator for MapSqlParameterSource accept nullable value [#26288](https://togithub.com/spring-projects/spring-framework/pull/26288)
- Provide API to Expose the Handling of PreFlight Requests in WebFlux [#26257](https://togithub.com/spring-projects/spring-framework/issues/26257)
- Configure the ObjectMappers to Use for a Class by MediaType [#26212](https://togithub.com/spring-projects/spring-framework/issues/26212)
- Jetty 10 Support [#26123](https://togithub.com/spring-projects/spring-framework/issues/26123)
- Introduce a NativeDetector utility class [#25795](https://togithub.com/spring-projects/spring-framework/issues/25795)
- Add overload for MockRestServiceServer.verify with a timeout [#22618](https://togithub.com/spring-projects/spring-framework/issues/22618)
#### :beetle: Bug Fixes
- IllegalArgumentException due to lack of a cached lookupPath [#26546](https://togithub.com/spring-projects/spring-framework/issues/26546)
- BeanUtils does not copy properties with generics from a Proxy since 5.3.0 [#26531](https://togithub.com/spring-projects/spring-framework/issues/26531)
- Autowiring shortcut fails with NoSuchBeanDefinitionException after removeBeanDefinition call [#26517](https://togithub.com/spring-projects/spring-framework/issues/26517)
- MockPart in request is not recieved in RequestPart in controller [#26501](https://togithub.com/spring-projects/spring-framework/issues/26501)
- CORS Headers Added to Pre-Flight Request on Ambiguous Match Even Without `@CrossOrigin` [#26490](https://togithub.com/spring-projects/spring-framework/issues/26490)
- SimpleJdbcInsert (sporadically) does not insert all columns [#26486](https://togithub.com/spring-projects/spring-framework/issues/26486)
- Avoid unnecessary wrapping for SqlParameterValue [#26471](https://togithub.com/spring-projects/spring-framework/pull/26471)
- DefaultHandlerExceptionResolver handling of media type exception on Tomcat 7+ [#26470](https://togithub.com/spring-projects/spring-framework/issues/26470)
- Websocket extensions not working [#26449](https://togithub.com/spring-projects/spring-framework/issues/26449)
- AbstractBeanDefinition#equals handles propertyValues incorrectly [#26433](https://togithub.com/spring-projects/spring-framework/issues/26433)
- WebMvcConfigurationSupport.beanNameHandlerMapping does not set PathPatternParser [#26414](https://togithub.com/spring-projects/spring-framework/issues/26414)
- Simple URL Mapping not working with PathPatternParser when Servlet context path is used [#26411](https://togithub.com/spring-projects/spring-framework/issues/26411)
- BodyInserters.fromMultipartData swallows content type in certain cases [#26410](https://togithub.com/spring-projects/spring-framework/issues/26410)
- MockPart is not added to parameter list anymore for Content-Type application/json [#26400](https://togithub.com/spring-projects/spring-framework/issues/26400)
- CronExpression skips a temporal when last day of the month and `*` expression is used [#26390](https://togithub.com/spring-projects/spring-framework/issues/26390)
- Malformed Content-Type Header in Response [#26315](https://togithub.com/spring-projects/spring-framework/issues/26315)
#### :notebook_with_decorative_cover: Documentation
- Update ref docs for nested class names [#26540](https://togithub.com/spring-projects/spring-framework/pull/26540)
- RSocket support not linked from user guide index [#26534](https://togithub.com/spring-projects/spring-framework/issues/26534)
- Document the "SpringProperties mechanism" mentioned in the testing chapter [#26492](https://togithub.com/spring-projects/spring-framework/issues/26492)
- Document UriComponentsBuilder.pathSegment doesn't allow segments "without text" [#26457](https://togithub.com/spring-projects/spring-framework/issues/26457)
- UriComponentsBuilder documentation error for HTTP request encoding [#26453](https://togithub.com/spring-projects/spring-framework/issues/26453)
- Improve reference documentation on Resources [#26447](https://togithub.com/spring-projects/spring-framework/issues/26447)
- Update documentation with details on content negotiation and the order of converter registrations [#26388](https://togithub.com/spring-projects/spring-framework/issues/26388)
- Wrong documentation for CachePut [#26186](https://togithub.com/spring-projects/spring-framework/issues/26186)
- Document choices for async ResponseEntity return values [#22614](https://togithub.com/spring-projects/spring-framework/issues/22614)
#### :hammer: Dependency Upgrades
- Update Gradle Enterprise Plugin versions [#26374](https://togithub.com/spring-projects/spring-framework/pull/26374)
- Upgrade to JUnit 4.13.2 [#26543](https://togithub.com/spring-projects/spring-framework/issues/26543)
- Upgrade to JUnit 5.7.1 [#26510](https://togithub.com/spring-projects/spring-framework/issues/26510)
- Upgrade to Kotlin 1.4.30 [#26545](https://togithub.com/spring-projects/spring-framework/issues/26545)
- Upgrade to Reactor 2020.0.4 [#26548](https://togithub.com/spring-projects/spring-framework/issues/26548)
#### :heart: Contributors
We'd like to thank all the contributors who worked on this release!
- [@Ph0rse](https://togithub.com/Ph0rse)
- [@yusuke](https://togithub.com/yusuke)
- [@cadimmek](https://togithub.com/cadimmek)
- [@quaff](https://togithub.com/quaff)
- [@1993heqiang](https://togithub.com/1993heqiang)
- [@limo520](https://togithub.com/limo520)
- [@cprayer](https://togithub.com/cprayer)
- [@ascopes](https://togithub.com/ascopes)
- [@grimsa](https://togithub.com/grimsa)
- [@daisuzz](https://togithub.com/daisuzz)
- [@sp00m](https://togithub.com/sp00m)
- [@liudongmiao](https://togithub.com/liudongmiao)
- [@izeye](https://togithub.com/izeye)
- [@gaerfield](https://togithub.com/gaerfield)
- [@runningcode](https://togithub.com/runningcode)
- [@alex-krav](https://togithub.com/alex-krav)
- [@making](https://togithub.com/making)
- [@Jirath-Liu](https://togithub.com/Jirath-Liu)
### [`v5.3.3`](https://togithub.com/spring-projects/spring-framework/releases/v5.3.3)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v5.3.2...v5.3.3)
#### :star: New Features
- Add null check for ExceptionHandlerMethodResolvers [#26339](https://togithub.com/spring-projects/spring-framework/pull/26339)
- ClassNotFoundException: ExchangeFunction when using WebTestClient with Spring MVC [#26308](https://togithub.com/spring-projects/spring-framework/issues/26308)
- Early support for JDK 17 [#26307](https://togithub.com/spring-projects/spring-framework/issues/26307)
- Assertion error details lost in rethrow in assertWithDiagnostics [#&
This PR has been flagged for autoclosing. However, it is being skipped due to the branch being already modified. Please close/delete it manually or report a bug if you think this is in error.
This PR contains the following updates:
5.2.3.RELEASE
->5.3.12
By merging this PR, the below vulnerabilities will be automatically resolved:
Release Notes
spring-projects/spring-framework
### [`v5.3.12`](https://togithub.com/spring-projects/spring-framework/releases/v5.3.12) [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v5.3.11...v5.3.12) ##### :lady_beetle: Bug Fixes - Update warn log message for empty static resource locations [#27575](https://togithub.com/spring-projects/spring-framework/issues/27575) - Default content type of response changed in v5.3.11 [#27573](https://togithub.com/spring-projects/spring-framework/issues/27573) - Fix assertion failure messages in DefaultDataBuffer.checkIndex() [#27567](https://togithub.com/spring-projects/spring-framework/pull/27567) ##### :notebook_with_decorative_cover: Documentation - Incorrect Javadoc in \[NamedParameter]JdbcOperations.queryForObject methods regarding exceptions [#27559](https://togithub.com/spring-projects/spring-framework/issues/27559) ##### :heart: Contributors We'd like to thank all the contributors who worked on this release! - [@smilep](https://togithub.com/smilep) - [@ebradshaw](https://togithub.com/ebradshaw) ### [`v5.3.11`](https://togithub.com/spring-projects/spring-framework/releases/v5.3.11) [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v5.3.10...v5.3.11) ##### :star: New Features - Enhance DefaultResponseErrorHandler to allow logging complete error response body [#27552](https://togithub.com/spring-projects/spring-framework/issues/27552) - Include correct keyword in CookieAssertions failure messages [#27550](https://togithub.com/spring-projects/spring-framework/pull/27550) - Use Arrays.hashCode() in ByteArrayResource.hashCode() [#27544](https://togithub.com/spring-projects/spring-framework/pull/27544) - Allow default CacheAwareContextLoaderDelegate configuration via a system property [#27540](https://togithub.com/spring-projects/spring-framework/issues/27540) - Invoke bean-derived (Auto)Closeable.close() method directly [#27504](https://togithub.com/spring-projects/spring-framework/issues/27504) - Defensive reference to JNDI API for JDK 9+ (optional `java.naming` module) [#27483](https://togithub.com/spring-projects/spring-framework/issues/27483) - DefaultMessageListenerContainer does not log an error/warning when consumer tasks have been rejected [#27451](https://togithub.com/spring-projects/spring-framework/issues/27451) - Provide accessor on externallyManaged RootBeanDefinition attributes [#27449](https://togithub.com/spring-projects/spring-framework/issues/27449) - Allow to avoid class validation in `CglibAopProxy` via `ProxyFactory` [#27439](https://togithub.com/spring-projects/spring-framework/issues/27439) - Add support for non-public record declarations [#27437](https://togithub.com/spring-projects/spring-framework/issues/27437) - Emit WebClientResponseException for malformed HTTP response [#27262](https://togithub.com/spring-projects/spring-framework/pull/27262) - DatabasePopulatorUtils.execute should commit if the current Connection has auto-commit set to false [#27008](https://togithub.com/spring-projects/spring-framework/issues/27008) ##### :lady_beetle: Bug Fixes - CronTrigger uses new Date() instead of context's Clock [#27546](https://togithub.com/spring-projects/spring-framework/issues/27546) - Performance impact of con.getContentLengthLong() in AbstractFileResolvingResource.isReadable() downloading huge jars to check component length [#27541](https://togithub.com/spring-projects/spring-framework/issues/27541) - Performance impact of ResourceUrlEncodingFilter on HttpServletResponse#encodeURL [#27538](https://togithub.com/spring-projects/spring-framework/issues/27538) - UriTemplateRequestEntity doesn't override hashCode() and equals() [#27531](https://togithub.com/spring-projects/spring-framework/issues/27531) - DataBufferUtils.write loses context [#27517](https://togithub.com/spring-projects/spring-framework/issues/27517) - Avoid duplicate JCacheOperationSource bean registration in \