spring-projects/spring-framework
### [`v6.0.7`](https://togithub.com/spring-projects/spring-framework/releases/tag/v6.0.7)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v6.0.6...v6.0.7)
##### :star: New Features
- Improve diagnostics in SpEL for `matches` operator [#30144](https://togithub.com/spring-projects/spring-framework/issues/30144)
- Improve diagnostics in SpEL for repeated text [#30142](https://togithub.com/spring-projects/spring-framework/issues/30142)
- Increase scope of regex pattern cache for the SpEL `matches` operator [#30140](https://togithub.com/spring-projects/spring-framework/issues/30140)
- Minor updates in HandlerMappingIntrospector [#30127](https://togithub.com/spring-projects/spring-framework/issues/30127)
- Skip parameter name resolution when not needed in `AbstractAutowireCapableBeanFactory` [#30103](https://togithub.com/spring-projects/spring-framework/issues/30103)
- Remove extra copy of headers/cookies in WebClient [#30092](https://togithub.com/spring-projects/spring-framework/pull/30092)
- Assert non-null arguments in `DefaultServerRequestBuilder` methods [#30046](https://togithub.com/spring-projects/spring-framework/pull/30046)
- Jetty 12 support in WebFlux [#29575](https://togithub.com/spring-projects/spring-framework/issues/29575)
##### :lady_beetle: Bug Fixes
- Gradle task `processAot` fails when Bean Validation API present but no provider found [#30130](https://togithub.com/spring-projects/spring-framework/issues/30130)
- ContentDisposition::parse does not support Windows paths [#30111](https://togithub.com/spring-projects/spring-framework/issues/30111)
- BindException raised instead of MethodArgumentNotValidException subclass [#30100](https://togithub.com/spring-projects/spring-framework/issues/30100)
- Ensure reactive transaction rollback on commit error [#30096](https://togithub.com/spring-projects/spring-framework/pull/30096)
- CaffeineCacheManager getCache method cause thread block [#30066](https://togithub.com/spring-projects/spring-framework/issues/30066)
- RequestedContentTypeResolver does not ignore quality factor when filtering \*/\* media types [#29915](https://togithub.com/spring-projects/spring-framework/issues/29915)
- `@Autowired`/`@Value` does not work on inner bean in native [#29803](https://togithub.com/spring-projects/spring-framework/issues/29803)
- Avoid rollback after a commit failure in `TransactionalOperator` [#27572](https://togithub.com/spring-projects/spring-framework/pull/27572)
- SpEL: cannot call methods declared in `java.lang.Object` on a JDK proxy [#25316](https://togithub.com/spring-projects/spring-framework/pull/25316)
##### :notebook_with_decorative_cover: Documentation
- Add anchor rewrites in the reference documentation [#30132](https://togithub.com/spring-projects/spring-framework/issues/30132)
- Fix minor spacings in webflux docs [#30078](https://togithub.com/spring-projects/spring-framework/pull/30078)
- Add a list of observations produced by Spring Framework [#30060](https://togithub.com/spring-projects/spring-framework/issues/30060)
##### :hammer: Dependency Upgrades
- Upgrade to Reactor 2022.0.5 [#30133](https://togithub.com/spring-projects/spring-framework/issues/30133)
##### :heart: Contributors
Thank you to all the contributors who worked on this release:
[@EnricSala](https://togithub.com/EnricSala), [@MrCoffee77](https://togithub.com/MrCoffee77), [@abelsromero](https://togithub.com/abelsromero), [@edyda99](https://togithub.com/edyda99), [@liupeng12345](https://togithub.com/liupeng12345), [@srivatsa-cfp](https://togithub.com/srivatsa-cfp), and [@yuzawa-san](https://togithub.com/yuzawa-san)
### [`v6.0.6`](https://togithub.com/spring-projects/spring-framework/releases/tag/v6.0.6)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v6.0.5...v6.0.6)
#### :star: New Features
- Prefer request hostName and hostPort in ReactorServerHttpRequest [#30062](https://togithub.com/spring-projects/spring-framework/pull/30062)
- Use `readNBytes` in ByteArrayHttpMessageConverter when contentLength is available [#30010](https://togithub.com/spring-projects/spring-framework/pull/30010)
- Add missing `@Nullable` annotations to `LogMessage.format` methods [#30006](https://togithub.com/spring-projects/spring-framework/issues/30006)
- Refine `CoroutinesUtils#invokeSuspendingFunction` contract [#30005](https://togithub.com/spring-projects/spring-framework/issues/30005)
- `@SubscribeMapping` method not called when built as native image [#30002](https://togithub.com/spring-projects/spring-framework/issues/30002)
- Provide method with `ContextView` instead of `Context` in `ServerWebExchangeContextFilter` [#29691](https://togithub.com/spring-projects/spring-framework/pull/29691)
- Support `@Value` for record injection [#28774](https://togithub.com/spring-projects/spring-framework/pull/28774)
#### :lady_beetle: Bug Fixes
- WebClient now requires scheme [#30053](https://togithub.com/spring-projects/spring-framework/issues/30053)
- Move `HttpServiceProxyFactoryExtensions.kt` to `spring-web` module [#30042](https://togithub.com/spring-projects/spring-framework/issues/30042)
- AutowireCapableBeanFactory.createBean does not prefer default constructor anymore [#30041](https://togithub.com/spring-projects/spring-framework/issues/30041)
- Server request URL with spring-webflux 6.0.5 is in resolved IP6 format [#30033](https://togithub.com/spring-projects/spring-framework/issues/30033)
- `PathMatchingResourcePatternResolver` can no longer handle paths containing spaces and special characters [#30031](https://togithub.com/spring-projects/spring-framework/issues/30031)
- Catch defensively exception thrown by validation contraints AOT processing of Kotlin extensions [#30037](https://togithub.com/spring-projects/spring-framework/issues/30037)
- Fix proxy hint Kotlin extensions [#30025](https://togithub.com/spring-projects/spring-framework/issues/30025)
- WebFlux fails with WebDAV HTTP methods [#29981](https://togithub.com/spring-projects/spring-framework/issues/29981)
- `NullPointerException` if passing an anonymous class to `ReflectionsHint#registerType` [#29774](https://togithub.com/spring-projects/spring-framework/issues/29774)
- Native hints for package private methods on custom `@Repository` class [#29764](https://togithub.com/spring-projects/spring-framework/issues/29764)
- Native version of webflux/r2dbc failed [#29582](https://togithub.com/spring-projects/spring-framework/issues/29582)
- Protect JMS connection creation against prepareConnection errors [#29116](https://togithub.com/spring-projects/spring-framework/pull/29116)
- SingleConnectionFactory - reconnection problem (AMQ Broker) [#29115](https://togithub.com/spring-projects/spring-framework/issues/29115)
#### :notebook_with_decorative_cover: Documentation
- Fix "Configuring a Global Date and Time Format" example [#30034](https://togithub.com/spring-projects/spring-framework/pull/30034)
- `@AspectJ` argument name resolution algorithm is outdated in reference manual [#30026](https://togithub.com/spring-projects/spring-framework/issues/30026)
- Update comment in Javadoc of ServletRequestPathFilter DispatcherServlet relating to DispatcherServlet [#30014](https://togithub.com/spring-projects/spring-framework/pull/30014)
- Revise AspectJ examples in the reference manual [#30003](https://togithub.com/spring-projects/spring-framework/issues/30003)
- Revise `chomp` and `fold` settings in reference documentation [#30001](https://togithub.com/spring-projects/spring-framework/issues/30001)
#### :hammer: Dependency Upgrades
- Upgrade to Reactor 2022.0.4 [#30063](https://togithub.com/spring-projects/spring-framework/issues/30063)
#### :heart: Contributors
Thank you to all the contributors who worked on this release:
[@1004789224](https://togithub.com/1004789224), [@1993heqiang](https://togithub.com/1993heqiang), [@AlexElin](https://togithub.com/AlexElin), [@diguage](https://togithub.com/diguage), [@divcon](https://togithub.com/divcon), [@izeye](https://togithub.com/izeye), [@kilink](https://togithub.com/kilink), [@lenoch7](https://togithub.com/lenoch7), [@sergiuprdn](https://togithub.com/sergiuprdn), [@singhbaljit](https://togithub.com/singhbaljit), and [@violetagg](https://togithub.com/violetagg)
### [`v6.0.5`](https://togithub.com/spring-projects/spring-framework/releases/tag/v6.0.5)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v6.0.4...v6.0.5)
##### :star: New Features
- Add RFC-8246 "immutable" attribute to `CacheControl` [#29955](https://togithub.com/spring-projects/spring-framework/pull/29955)
- Allow MockRest to match header/queryParam value list with one Matcher [#29953](https://togithub.com/spring-projects/spring-framework/pull/29953)
- DataBuffer should offer restricted access to underlying ByteBuffer [#29943](https://togithub.com/spring-projects/spring-framework/issues/29943)
- Introduce `HttpServiceProxyFactory#createClient` Kotlin extension [#29942](https://togithub.com/spring-projects/spring-framework/issues/29942)
- Support ProblemDetail serialization to XML with Jackson [#29927](https://togithub.com/spring-projects/spring-framework/issues/29927)
- Refine `TransactionalOperator.executeAndAwait` nullability [#29919](https://togithub.com/spring-projects/spring-framework/issues/29919)
- Early support for JDK 21 [#29910](https://togithub.com/spring-projects/spring-framework/issues/29910)
- StringDecoder causes direct allocation of ByteBuffer [#29889](https://togithub.com/spring-projects/spring-framework/pull/29889)
- Include all Hibernate query methods in `SharedEntityManagerCreator`'s `queryTerminatingMethods` set [#29886](https://togithub.com/spring-projects/spring-framework/issues/29886)
- Add native support for RSocketExchange. [#29877](https://togithub.com/spring-projects/spring-framework/pull/29877)
- Add `@Nullable` to `ProblemDetail.setProperty` value argument [#29868](https://togithub.com/spring-projects/spring-framework/pull/29868)
- Deprecate obsolete `ConcurrentExecutorAdapter` for removal in 6.1 [#29865](https://togithub.com/spring-projects/spring-framework/issues/29865)
- ContentDisposition.toString() should include both regular and extended filename parameter [#29861](https://togithub.com/spring-projects/spring-framework/issues/29861)
- Refine `Jackson2ObjectMapperBuilder#configureFeature` exception handling [#29859](https://togithub.com/spring-projects/spring-framework/issues/29859)
- Flexible constructor resolution in AutowireCapableBeanFactory.createBean(Class) [#29855](https://togithub.com/spring-projects/spring-framework/issues/29855)
- Optimize CorsConfiguration::checkHeaders [#29853](https://togithub.com/spring-projects/spring-framework/pull/29853)
- Spring Web RestTemplate `http.client.requests` Metrics No Longer Have `client.name` Tag [#29839](https://togithub.com/spring-projects/spring-framework/issues/29839)
- Allow `@Aspect` classes to extend concrete `@Aspect` classes [#29830](https://togithub.com/spring-projects/spring-framework/issues/29830)
- Custom Constraint Validator not work with native image [#29823](https://togithub.com/spring-projects/spring-framework/issues/29823)
- Deprecate HttpStatus 103 CHECKPOINT in favor of new EARLY_HINTS [#29816](https://togithub.com/spring-projects/spring-framework/pull/29816)
- Fix R2dbcTransactionManager debug log: don't log a Mono [#29800](https://togithub.com/spring-projects/spring-framework/pull/29800)
- Improve generated default name for `@JmsListener` subscription [#29790](https://togithub.com/spring-projects/spring-framework/pull/29790)
- Support double-quoted values in HttpHeaders::getValuesAsList [#29785](https://togithub.com/spring-projects/spring-framework/issues/29785)
- Support method validation for an interface only proxy like an HTTP interface client [#29782](https://togithub.com/spring-projects/spring-framework/issues/29782)
- ResourceHandlers cannot resolve static resources without wildcard patterns [#29739](https://togithub.com/spring-projects/spring-framework/issues/29739)
- Release R2DBC connection when cleanup fails in transaction [#29703](https://togithub.com/spring-projects/spring-framework/pull/29703)
- Spring Webfilters and Kotlin Coroutines [#29672](https://togithub.com/spring-projects/spring-framework/issues/29672)
- Support "multipart/mixed" and "multipart/related" in DefaultServerWebExchange [#29671](https://togithub.com/spring-projects/spring-framework/pull/29671)
- `@JsonDeserialize(builder = ...)` does not work in GraalVM native image [#29646](https://togithub.com/spring-projects/spring-framework/issues/29646)
- Combined class and method `@RequestMapping` without patterns should match root path as both "" and "/" [#29625](https://togithub.com/spring-projects/spring-framework/issues/29625)
- Prefer problem detail media type independent of ordering in Accept header [#29588](https://togithub.com/spring-projects/spring-framework/issues/29588)
- Restrict forwards in MockMvcWebConnection to 100 [#29557](https://togithub.com/spring-projects/spring-framework/pull/29557)
- `@JsonNaming` strategy is not supported in GraalVM native image [#29386](https://togithub.com/spring-projects/spring-framework/issues/29386)
- SQL supplier in R2DBC `DatabaseClient` is eagerly invoked [#29367](https://togithub.com/spring-projects/spring-framework/issues/29367)
- Set reason for WebSocket `CloseStatus.SESSION\_NOT\_RELIABLE` [#29220](https://togithub.com/spring-projects/spring-framework/pull/29220)
- HttpComponentsClientHttpConnector hangs when host is invalid [#29156](https://togithub.com/spring-projects/spring-framework/issues/29156)
- Add ResponseEntity.ofNullable() to deal with non-Optional nullable objects [#29117](https://togithub.com/spring-projects/spring-framework/issues/29117)
- Provide access to all configured interceptors in AbstractHandlerMapping [#28985](https://togithub.com/spring-projects/spring-framework/issues/28985)
- Support `Optional` in `PayloadMethodArgumentResolver` [#28945](https://togithub.com/spring-projects/spring-framework/issues/28945)
- Remove clear() call to release method of WeakEntryReference and SoftEntryReference [#28863](https://togithub.com/spring-projects/spring-framework/pull/28863)
- Add `MockMvc.multipart()` Kotlin extensions with `HttpMethod` [#28634](https://togithub.com/spring-projects/spring-framework/pull/28634)
- WebSocketConnectionManager constructor with prepared URI [#28524](https://togithub.com/spring-projects/spring-framework/issues/28524)
- Deprecate Base64Utils [#28434](https://togithub.com/spring-projects/spring-framework/pull/28434)
- List supported media types in HttpMediaTypeNotSupportedException when given invalid input media types [#28062](https://togithub.com/spring-projects/spring-framework/issues/28062)
- Introduce getContentAsString and getContentAsByteArray to Resource [#24651](https://togithub.com/spring-projects/spring-framework/pull/24651)
- Support Optional in Jackson 2 message converters [#24498](https://togithub.com/spring-projects/spring-framework/issues/24498)
- Refine `ModelAttributeMethodProcessor` Kotlin exception handling [#23846](https://togithub.com/spring-projects/spring-framework/issues/23846)
##### :lady_beetle: Bug Fixes
- DefaultHandlerExceptionResolver::doResolveException no longer returns ModelAndView customized via protected method [#29971](https://togithub.com/spring-projects/spring-framework/issues/29971)
- `ex.getPropertyName()` is not initialized in `ResponseEntityExceptionHandler#handleTypeMismatch` [#29959](https://togithub.com/spring-projects/spring-framework/issues/29959)
- Violation of a unique index on insert in MSSQL is translated to DataIntegrityViolationException instead of DuplicateKeyException [#29950](https://togithub.com/spring-projects/spring-framework/issues/29950)
- PathMatchingResourcePatternResolver duplicates module/file resources [#29934](https://togithub.com/spring-projects/spring-framework/issues/29934)
- ResourceUrlEncodingFilter throws StringIndexOutOfBoundsException in tests [#29933](https://togithub.com/spring-projects/spring-framework/issues/29933)
- Explicit target ClassLoader for interface-based proxies in MvcUriComponentsBuilder [#29913](https://togithub.com/spring-projects/spring-framework/issues/29913)
- org.springframework.web.context.ContextLoader cannot be loaded in a native image [#29905](https://togithub.com/spring-projects/spring-framework/issues/29905)
- MockHttpServletRequest InputStream has been made static in [gh-29125](https://togithub.com/spring-projects/spring-framework/issues/29125) [#29901](https://togithub.com/spring-projects/spring-framework/issues/29901)
- MvcUriComponentsBuilder adds trailing slash if path is defined at controller level only [#29897](https://togithub.com/spring-projects/spring-framework/issues/29897)
- Closing an ApplicationContext leads to Exception at ExecutorServiceAdapter [#29892](https://togithub.com/spring-projects/spring-framework/issues/29892)
- Set WebClient Observation as current in reactor context [#29891](https://togithub.com/spring-projects/spring-framework/issues/29891)
- Client request observation contributes full URI template to uri meter tag values [#29885](https://togithub.com/spring-projects/spring-framework/issues/29885)
- HTTP client observations miss uri keyvalue for "/" requests [#29879](https://togithub.com/spring-projects/spring-framework/issues/29879)
- ProblemDetail is missing serialization hints for Native Image [#29801](https://togithub.com/spring-projects/spring-framework/issues/29801)
- Invalid Accept header results in IllegalStateException [#29794](https://togithub.com/spring-projects/spring-framework/issues/29794)
- AOT processing fails with Set if type doesn't implement Comparable [#29792](https://togithub.com/spring-projects/spring-framework/issues/29792)
- CSRF token not available to FreeMarker templates [#29787](https://togithub.com/spring-projects/spring-framework/issues/29787)
- Fail more explicitly when AOT attempts to handle a bean definition that uses an instance supplier [#29556](https://togithub.com/spring-projects/spring-framework/issues/29556)
- WebSocket stats not updated correctly when sessions cleared [#29375](https://togithub.com/spring-projects/spring-framework/issues/29375)
- `MockHttpServletRequest#setContentType` fails with `StringIndexOutOfBoundsException` [#29255](https://togithub.com/spring-projects/spring-framework/issues/29255)
- `InMemoryWebSessionStore#changeSessionId` makes blocking calls to UUID.randomUUID [#29212](https://togithub.com/spring-projects/spring-framework/issues/29212)
- ReactorServerHttpRequest does not reflect forwarded host and port when `forwarding-header-strategy=native` or cloud platform detected [#28601](https://togithub.com/spring-projects/spring-framework/issues/28601)
- Propagate `CoroutineContext` in reactive transaction [#27308](https://togithub.com/spring-projects/spring-framework/pull/27308)
- Bean validation doesn't work on Kotlin coroutines controller parameters [#23499](https://togithub.com/spring-projects/spring-framework/issues/23499)
##### :notebook_with_decorative_cover: Documentation
- Update `@DynamicPropertySource` examples regarding changes in Testcontainers [#29939](https://togithub.com/spring-projects/spring-framework/issues/29939)
- Refine `ControllerMappingReflectiveProcessor` documentation [#29938](https://togithub.com/spring-projects/spring-framework/issues/29938)
- Clarify semantics of `primitivesDefaultedForNullValue` in `BeanPropertyRowMapper` [#29923](https://togithub.com/spring-projects/spring-framework/issues/29923)
- Document instrumentation for RestTemplate and/or WebClient [#29904](https://togithub.com/spring-projects/spring-framework/issues/29904)
- CronExpression::parse has invalid Javadoc [#29884](https://togithub.com/spring-projects/spring-framework/issues/29884)
- Update Javadoc on async request timeout value in HandlerFunctionAdapter [#29882](https://togithub.com/spring-projects/spring-framework/pull/29882)
- Document how to mark an observation as an error if the exception was handled [#29848](https://togithub.com/spring-projects/spring-framework/issues/29848)
- Document that bean instance suppliers are not supported with AOT/native [#29835](https://togithub.com/spring-projects/spring-framework/issues/29835)
- Clearly document that `DataClassRowMapper` supports Java records [#29814](https://togithub.com/spring-projects/spring-framework/issues/29814)
- Increase number of TOC levels in generated PDF documentation [#29781](https://togithub.com/spring-projects/spring-framework/pull/29781)
- Consistent `@Bean` method return type for equivalence with XML example [#29338](https://togithub.com/spring-projects/spring-framework/issues/29338)
- Outdated Javadoc for AbstractApplicationContext.postProcessBeanFactory [#29064](https://togithub.com/spring-projects/spring-framework/issues/29064)
- Improve documentation on support for a language-only Locale requested via "Accept-Language" [#28673](https://togithub.com/spring-projects/spring-framework/issues/28673)
- Update the reference documentation with limitation related to `@Bean` return type [#29944](https://togithub.com/spring-projects/spring-framework/issues/29944)
##### :hammer: Dependency Upgrades
- Upgrade to Micrometer 1.10.4 [#29899](https://togithub.com/spring-projects/spring-framework/issues/29899)
- Upgrade to Reactor 2022.0.3 [#29900](https://togithub.com/spring-projects/spring-framework/issues/29900)
##### :heart: Contributors
Thank you to all the contributors who worked on this release:
[@Drezir](https://togithub.com/Drezir), [@FutureGadget](https://togithub.com/FutureGadget), [@OlgaMaciaszek](https://togithub.com/OlgaMaciaszek), [@ThomHurks](https://togithub.com/ThomHurks), [@a364176773](https://togithub.com/a364176773), [@bcc829](https://togithub.com/bcc829), [@derrick-pericipio](https://togithub.com/derrick-pericipio), [@divcon](https://togithub.com/divcon), [@etylermoss](https://togithub.com/etylermoss), [@fml2](https://togithub.com/fml2), [@izeye](https://togithub.com/izeye), [@j-min5u](https://togithub.com/j-min5u), [@j3graham](https://togithub.com/j3graham), [@jprinet](https://togithub.com/jprinet), [@krzyk](https://togithub.com/krzyk), [@ks-yim](https://togithub.com/ks-yim), [@making](https://togithub.com/making), [@manthanb](https://togithub.com/manthanb), [@quaff](https://togithub.com/quaff), [@r331](https://togithub.com/r331), [@sephiroth-j](https://togithub.com/sephiroth-j), [@srivatsa-cfp](https://togithub.com/srivatsa-cfp), [@vikeychen](https://togithub.com/vikeychen), [@wplong11](https://togithub.com/wplong11), [@xavier-b](https://togithub.com/xavier-b), [@yuezk](https://togithub.com/yuezk), [@yuzawa-san](https://togithub.com/yuzawa-san), and [@zhmaeff](https://togithub.com/zhmaeff)
### [`v6.0.4`](https://togithub.com/spring-projects/spring-framework/releases/tag/v6.0.4)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v6.0.3...v6.0.4)
##### :star: New Features
- Add native support for `@Convert` on JPA entities [#29771](https://togithub.com/spring-projects/spring-framework/issues/29771)
- `@RequestPart` dto not configured for reflection in aot [#29749](https://togithub.com/spring-projects/spring-framework/issues/29749)
- Avoid wasted memory on empty maps and sets [#29742](https://togithub.com/spring-projects/spring-framework/pull/29742)
- Compatibility with Hibernate ORM 6.2 [#29736](https://togithub.com/spring-projects/spring-framework/issues/29736)
- Add Kotlin DSL support for MockMVC andExpectAll [#29727](https://togithub.com/spring-projects/spring-framework/pull/29727)
- Add ExecutingResponseCreator to delegate request and response [#29721](https://togithub.com/spring-projects/spring-framework/pull/29721)
- JmsTemplate.convertAndSend throws NullPointerException during shutdown [#29706](https://togithub.com/spring-projects/spring-framework/issues/29706)
- Extract ResourceEntityResolver HTTPS schema resolution fallback [#29697](https://togithub.com/spring-projects/spring-framework/pull/29697)
- `@Configuration` classes with Kotlin in native-image are broken [#29663](https://togithub.com/spring-projects/spring-framework/issues/29663)
- Introduce Kotlin DSL for `ResultActions.andExpectAll()` [#27317](https://togithub.com/spring-projects/spring-framework/issues/27317)
##### :lady_beetle: Bug Fixes
- ResourceHandlers cannot resolve static resources with certain wildcard patterns [#29712](https://togithub.com/spring-projects/spring-framework/issues/29712)
- Conflict on insert gets translated to DataIntegrityViolationException instead of DuplicateKeyException in Spring 6 [#29699](https://togithub.com/spring-projects/spring-framework/issues/29699)
##### :notebook_with_decorative_cover: Documentation
- fix typo in core-aot.adoc [#29788](https://togithub.com/spring-projects/spring-framework/pull/29788)
- Polish [#29727](https://togithub.com/spring-projects/spring-framework/issues/29727): Mention Kotlin andExpectAll in reference manual [#29766](https://togithub.com/spring-projects/spring-framework/pull/29766)
- Update Jakarta Mail info in ref docs [#29707](https://togithub.com/spring-projects/spring-framework/issues/29707)
- Trigger/TriggerContext reference documentation outdated [#29702](https://togithub.com/spring-projects/spring-framework/issues/29702)
- Improve documentation for literals in SpEL expressions [#29700](https://togithub.com/spring-projects/spring-framework/issues/29700)
- Small fixes and improvements to the reference documentation [#29694](https://togithub.com/spring-projects/spring-framework/pull/29694)
- Fix manipulating property sources example in Javadoc for `ConfigurableEnvironment` [#29693](https://togithub.com/spring-projects/spring-framework/pull/29693)
##### :hammer: Dependency Upgrades
- Upgrade to Micrometer 1.10.3 [#29802](https://togithub.com/spring-projects/spring-framework/issues/29802)
- Upgrade to Reactor 2022.0.2 [#29797](https://togithub.com/spring-projects/spring-framework/issues/29797)
##### :heart: Contributors
Thank you to all the contributors who worked on this release:
[@Dunemaster](https://togithub.com/Dunemaster), [@IDJack](https://togithub.com/IDJack), [@diguage](https://togithub.com/diguage), [@izeye](https://togithub.com/izeye), and [@quim3ra](https://togithub.com/quim3ra)
### [`v6.0.3`](https://togithub.com/spring-projects/spring-framework/releases/tag/v6.0.3)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v6.0.2...v6.0.3)
#### :star: New Features
- Throw PessimisticLockingFailureException/CannotAcquireLockException instead of plain ConcurrencyFailureException [#29675](https://togithub.com/spring-projects/spring-framework/issues/29675)
- Introduce additional constructors in `MockClientHttpRequest` and `MockClientHttpResponse` [#29670](https://togithub.com/spring-projects/spring-framework/issues/29670)
- Fall back to JdkClientHttpConnector as ClientHttpConnector [#29645](https://togithub.com/spring-projects/spring-framework/pull/29645)
- Optimize object creation in `RequestMappingHandlerMapping#handleNoMatch` [#29634](https://togithub.com/spring-projects/spring-framework/pull/29634)
- Align multipart codecs on client and server [#29630](https://togithub.com/spring-projects/spring-framework/issues/29630)
- Deprecate "application/graphql+json" media type after spec changes [#29617](https://togithub.com/spring-projects/spring-framework/issues/29617)
- HTTP interface client does not call FormHttpMessageWriter when writing form data [#29615](https://togithub.com/spring-projects/spring-framework/issues/29615)
- ProblemDetail doesn't override the equals method [#29606](https://togithub.com/spring-projects/spring-framework/issues/29606)
- Add title to SockJS iFrames for accessibility compliance [#29594](https://togithub.com/spring-projects/spring-framework/pull/29594)
- Forbid loading of a test's `ApplicationContext` in AOT mode if AOT processing failed [#29579](https://togithub.com/spring-projects/spring-framework/issues/29579)
- Deprecate JettyWebSocketClient in favor of StandardWebSocketClient [#29576](https://togithub.com/spring-projects/spring-framework/issues/29576)
- Improve options to expose MessageSource formatted errors for a ProblemDetail response [#29574](https://togithub.com/spring-projects/spring-framework/issues/29574)
- Make `@ModelAttribute` and `@InitBinder` annotations `@Reflective` [#29572](https://togithub.com/spring-projects/spring-framework/issues/29572)
- Update `BindingReflectionHintsRegistrar` to support properties on records [#29571](https://togithub.com/spring-projects/spring-framework/issues/29571)
#### :lady_beetle: Bug Fixes
- Cannot use WebDAV methods in Spring MVC 6.0 anymore [#29689](https://togithub.com/spring-projects/spring-framework/issues/29689)
- AnnotatedElementUtils.findMergedRepeatableAnnotations does not fetch results when other attributes exist in container annotation [#29685](https://togithub.com/spring-projects/spring-framework/issues/29685)
- BeanWrapperImpl NPE in setWrappedInstance after invoking getPropertyValue [#29681](https://togithub.com/spring-projects/spring-framework/issues/29681)
- SpEL `ConstructorReference` does not generate AST representation of arrays [#29665](https://togithub.com/spring-projects/spring-framework/issues/29665)
- NullPointerException in BindingReflectionHintsRegistrar for anonymous classes [#29657](https://togithub.com/spring-projects/spring-framework/issues/29657)
- DataBufferInputStream violates InputStream contract [#29642](https://togithub.com/spring-projects/spring-framework/issues/29642)
- Component scanning no longer uses component index for `@Named`, `@ManagedBean`, and other Jakarta annotations [#29641](https://togithub.com/spring-projects/spring-framework/issues/29641)
- Fix canWrite in PartHttpMessageWriter [#29631](https://togithub.com/spring-projects/spring-framework/pull/29631)
- `NoHandlerFoundException` mistakenly returns request headers from `ErrorResponse#getHeaders` [#29626](https://togithub.com/spring-projects/spring-framework/issues/29626)
- URI override for `@HttpExchange` doesn't work if there are both `URI` and `@PathVariable` method parameters [#29624](https://togithub.com/spring-projects/spring-framework/issues/29624)
- Unnecessary parameter name introspection for constructor-arg resolution (leading to LocalVariableTableParameterNameDiscoverer warnings) [#29612](https://togithub.com/spring-projects/spring-framework/issues/29612)
- Set detail from reason in both constructors of ResponseStatusException [#29608](https://togithub.com/spring-projects/spring-framework/pull/29608)
- SpEL string literal misses single quotation marks in toStringAST() [#29604](https://togithub.com/spring-projects/spring-framework/issues/29604)
- AOT code generation fails for bean of type `boolean` [#29598](https://togithub.com/spring-projects/spring-framework/issues/29598)
- `request`-scoped bean with `@Lazy` fails in native image (due to missing detection of CGLIB lazy resolution proxies) [#29584](https://togithub.com/spring-projects/spring-framework/issues/29584)
- 500 error from WebFlux when parsing Content-Type leads to InvalidMediaTypeException [#29565](https://togithub.com/spring-projects/spring-framework/issues/29565)
- ConcurrentLruCache implementation is using too much heap memory [#29520](https://togithub.com/spring-projects/spring-framework/issues/29520)
- Duplicate key violation gets translated to DataIntegrityViolationException instead of DuplicateKeyException in Spring 6 [#29511](https://togithub.com/spring-projects/spring-framework/issues/29511)
- SpEL: Two double quotes are replaced by one double quote in single quoted `String` literal (and vice versa) [#28356](https://togithub.com/spring-projects/spring-framework/issues/28356)
#### :notebook_with_decorative_cover: Documentation
- Fix ErrorResponse#type documentation [#29632](https://togithub.com/spring-projects/spring-framework/pull/29632)
- Fix typo in observability documentation [#29590](https://togithub.com/spring-projects/spring-framework/pull/29590)
- Consistent documentation references to Jakarta WebSocket (2.1) [#29581](https://togithub.com/spring-projects/spring-framework/issues/29581)
- Unrendered asciidoc headings in reference documentation [#29569](https://togithub.com/spring-projects/spring-framework/issues/29569)
- Document observability support [#29524](https://togithub.com/spring-projects/spring-framework/issues/29524)
#### :hammer: Dependency Upgrades
- Upgrade to Apache HttpClient 5.2 [#29627](https://togithub.com/spring-projects/spring-framework/issues/29627)
- Upgrade to Gradle 7.6 [#29583](https://togithub.com/spring-projects/spring-framework/issues/29583)
- Upgrade to Micrometer 1.10.2 [#29678](https://togithub.com/spring-projects/spring-framework/issues/29678)
- Upgrade to Reactor 2022.0.1 [#29679](https://togithub.com/spring-projects/spring-framework/issues/29679)
#### :heart: Contributors
Thank you to all the contributors who worked on this release:
[@Aashay-Chapatwala](https://togithub.com/Aashay-Chapatwala), [@CoderYellow](https://togithub.com/CoderYellow), [@ShenFeng312](https://togithub.com/ShenFeng312), [@Spark61](https://togithub.com/Spark61), [@divcon](https://togithub.com/divcon), [@izeye](https://togithub.com/izeye), [@koo-taejin](https://togithub.com/koo-taejin), [@mdeinum](https://togithub.com/mdeinum), [@mhalbritter](https://togithub.com/mhalbritter), [@quaff](https://togithub.com/quaff), and [@singhbaljit](https://togithub.com/singhbaljit)
### [`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.26...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.26`](https://togithub.com/spring-projects/spring-framework/releases/tag/v5.3.26)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v5.3.25...v5.3.26)
##### :star: New Features
- Improve diagnostics in SpEL for `matches` operator [#30145](https://togithub.com/spring-projects/spring-framework/issues/30145)
- Improve diagnostics in SpEL for repeated text [#30143](https://togithub.com/spring-projects/spring-framework/issues/30143)
- Increase scope of regex pattern cache for the SpEL `matches` operator [#30141](https://togithub.com/spring-projects/spring-framework/issues/30141)
- Minor updates in HandlerMappingIntrospector [#30128](https://togithub.com/spring-projects/spring-framework/issues/30128)
- Allow SnakeYaml 2.0 runtime compatibility [#30097](https://togithub.com/spring-projects/spring-framework/issues/30097)
- Add missing `@Nullable` annotations to `LogMessage.format` methods [#30009](https://togithub.com/spring-projects/spring-framework/issues/30009)
- ASM upgrade for JDK 20/21 support [#29966](https://togithub.com/spring-projects/spring-framework/issues/29966)
- Allow MockRest to match header/queryParam value list with one Matcher [#29964](https://togithub.com/spring-projects/spring-framework/issues/29964)
- Add `MockMvc.multipart()` Kotlin extensions with `HttpMethod` [#29941](https://togithub.com/spring-projects/spring-framework/issues/29941)
- Release R2DBC connection when cleanup fails in transaction [#29925](https://togithub.com/spring-projects/spring-framework/issues/29925)
- org.springframework.web.context.ContextLoader should lazily load ContextLoader.properties [#29909](https://togithub.com/spring-projects/spring-framework/issues/29909)
- Improve generated default name for `@JmsListener` subscription [#29902](https://togithub.com/spring-projects/spring-framework/issues/29902)
- Include all Hibernate query methods in `SharedEntityManagerCreator`'s `queryTerminatingMethods` set [#29888](https://togithub.com/spring-projects/spring-framework/issues/29888)
- SQL supplier in R2DBC `DatabaseClient` is eagerly invoked [#29887](https://togithub.com/spring-projects/spring-framework/issues/29887)
- Spring Framework 5.3.x is incompatible with Jetty 10 (Client) [#29867](https://togithub.com/spring-projects/spring-framework/issues/29867)
- Possible infinite forward loop with MockMvcWebConnection [#29866](https://togithub.com/spring-projects/spring-framework/issues/29866)
- Refine `Jackson2ObjectMapperBuilder#configureFeature` exception handling [#29860](https://togithub.com/spring-projects/spring-framework/issues/29860)
- Fix R2dbcTransactionManager debug log: don't log a Mono [#29824](https://togithub.com/spring-projects/spring-framework/issues/29824)
##### :lady_beetle: Bug Fixes
- RequestedContentTypeResolver does not ignore quality factor when filtering \*/\* media types [#30121](https://togithub.com/spring-projects/spring-framework/issues/30121)
- SpEL: cannot call methods declared in `java.lang.Object` on a JDK proxy [#30118](https://togithub.com/spring-projects/spring-framework/issues/30118)
- CaffeineCacheManager getCache method cause thread block [#30085](https://togithub.com/spring-projects/spring-framework/issues/30085)
- Protect JMS connection creation against prepareConnection errors [#30051](https://togithub.com/spring-projects/spring-framework/issues/30051)
- ReactorServerHttpRequest does not reflect forwarded host and port when `forwarding-header-strategy=native` or cloud platform detected [#29974](https://togithub.com/spring-projects/spring-framework/issues/29974)
- WebSocket stats not updated correctly when sessions cleared [#29947](https://togithub.com/spring-projects/spring-framework/issues/29947)
- Explicit target ClassLoader for interface-based proxies in MvcUriComponentsBuilder [#29914](https://togithub.com/spring-projects/spring-framework/issues/29914)
- Closing an ApplicationContext leads to Exception at ExecutorServiceAdapter [#29908](https://togithub.com/spring-projects/spring-framework/issues/29908)
- Invalid Accept header results in IllegalStateException [#29836](https://togithub.com/spring-projects/spring-framework/issues/29836)
- JettyWebSocketCreator referenced from a method is not visible from class loader with `Jetty10RequestUpgradeStrategy` [#29256](https://togithub.com/spring-projects/spring-framework/issues/29256)
##### :notebook_with_decorative_cover: Documentation
- Fix minor spacings in webflux docs [#30095](https://togithub.com/spring-projects/spring-framework/issues/30095)
- `@AspectJ` argument name resolution algorithm is outdated in reference manual [#30057](https://togithub.com/spring-projects/spring-framework/issues/30057)
- Fix "Configuring a Global Date and Time Format" example [#30036](https://togithub.com/spring-projects/spring-framework/issues/30036)
- Consistent `@Bean` method return type for equivalence with XML example [#29970](https://togithub.com/spring-projects/spring-framework/issues/29970)
- Update `@DynamicPropertySource` examples regarding changes in Testcontainers [#29940](https://togithub.com/spring-projects/spring-framework/issues/29940)
- Clarify semantics of `primitivesDefaultedForNullValue` in `BeanPropertyRowMapper` [#29926](https://togithub.com/spring-projects/spring-framework/issues/29926)
- Clearly document that `DataClassRowMapper` supports Java records [#29922](https://togithub.com/spring-projects/spring-framework/issues/29922)
- Outdated Javadoc for AbstractApplicationContext.postProcessBeanFactory [#29916](https://togithub.com/spring-projects/spring-framework/issues/29916)
##### :hammer: Dependency Upgrades
- Upgrade to Reactor Netty 2020.0.30 [#30116](https://togithub.com/spring-projects/spring-framework/issues/30116)
### [`v5.3.25`](https://togithub.com/spring-projects/spring-framework/releases/tag/v5.3.25)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v5.3.24...v5.3.25)
##### :star: New Features
- JmsTemplate.convertAndSend throws NullPointerException during shutdown [#29719](https://togithub.com/spring-projects/spring-framework/issues/29719)
- Optimize object creation in RequestMappingHandlerMapping#handleNoMatch [#29667](https://togithub.com/spring-projects/spring-framework/issues/29667)
- Add title to SockJS iFrames for accessibility compliance [#29596](https://togithub.com/spring-projects/spring-framework/issues/29596)
##### :lady_beetle: Bug Fixes
- ResourceHandlers cannot resolve static resources with certain wildcard patterns [#29716](https://togithub.com/spring-projects/spring-framework/issues/29716)
- AnnotatedElementUtils.findMergedRepeatableAnnotations does not fetch results when other attributes exist for container annotation [#29686](https://togithub.com/spring-projects/spring-framework/issues/29686)
- BeanWrapperImpl NPE in setWrappedInstance after invoking getPropertyValue (with SimpleBeanInfoFactory) [#29684](https://togithub.com/spring-projects/spring-framework/issues/29684)
- SpEL `ConstructorReference` does not generate AST representation of arrays [#29666](https://togithub.com/spring-projects/spring-framework/issues/29666)
- SpEL: Two double quotes are replaced by one double quote in single quoted `String` literal (and vice versa) [#29653](https://togithub.com/spring-projects/spring-framework/issues/29653)
- SpEL string literal misses single quotation marks in toStringAST() [#29652](https://togithub.com/spring-projects/spring-framework/issues/29652)
- 500 error from WebFlux when parsing Content-Type leads to InvalidMediaTypeException [#29637](https://togithub.com/spring-projects/spring-framework/issues/29637)
- `WebMvcConfigurationSupport` should not catch `Throwable` for `SourceHttpMessageConverter` [#29537](https://togithub.com/spring-projects/spring-framework/issues/29537)
##### :notebook_with_decorative_cover: Documentation
- Update Jakarta Mail info in ref docs [#29708](https://togithub.com/spring-projects/spring-framework/issues/29708)
- Improve documentation for literals in SpEL expressions [#29701](https://togithub.com/spring-projects/spring-framework/issues/29701)
- Fix some typos in Kotlin WebClient example code [#29542](https://togithub.com/spring-projects/spring-framework/issues/29542)
- Fix link to Bean Utils Light Library in BeanUtils Javadoc [#29536](https://togithub.com/spring-projects/spring-framework/issues/29536)
- Fix link to WebFlux section in reference manual [#29526](https://togithub.com/spring-projects/spring-framework/issues/29526)
- Link to Spring WebFlux section is broken [#29517](https://togithub.com/spring-projects/spring-framework/issues/29517)
##### :hammer: Dependency Upgrades
- Upgrade to Reactor 2020.0.27 [#29798](https://togithub.com/spring-projects/spring-framework/issues/29798)
### [`v5.3.24`](https://togithub.com/spring-projects/spring-framework/releases/tag/v5.3.24)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v5.3.23...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)
- [@
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 becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
5.3.23
->6.0.7
5.3.23
->6.0.7
Release Notes
spring-projects/spring-framework
### [`v6.0.7`](https://togithub.com/spring-projects/spring-framework/releases/tag/v6.0.7) [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v6.0.6...v6.0.7) ##### :star: New Features - Improve diagnostics in SpEL for `matches` operator [#30144](https://togithub.com/spring-projects/spring-framework/issues/30144) - Improve diagnostics in SpEL for repeated text [#30142](https://togithub.com/spring-projects/spring-framework/issues/30142) - Increase scope of regex pattern cache for the SpEL `matches` operator [#30140](https://togithub.com/spring-projects/spring-framework/issues/30140) - Minor updates in HandlerMappingIntrospector [#30127](https://togithub.com/spring-projects/spring-framework/issues/30127) - Skip parameter name resolution when not needed in `AbstractAutowireCapableBeanFactory` [#30103](https://togithub.com/spring-projects/spring-framework/issues/30103) - Remove extra copy of headers/cookies in WebClient [#30092](https://togithub.com/spring-projects/spring-framework/pull/30092) - Assert non-null arguments in `DefaultServerRequestBuilder` methods [#30046](https://togithub.com/spring-projects/spring-framework/pull/30046) - Jetty 12 support in WebFlux [#29575](https://togithub.com/spring-projects/spring-framework/issues/29575) ##### :lady_beetle: Bug Fixes - Gradle task `processAot` fails when Bean Validation API present but no provider found [#30130](https://togithub.com/spring-projects/spring-framework/issues/30130) - ContentDisposition::parse does not support Windows paths [#30111](https://togithub.com/spring-projects/spring-framework/issues/30111) - BindException raised instead of MethodArgumentNotValidException subclass [#30100](https://togithub.com/spring-projects/spring-framework/issues/30100) - Ensure reactive transaction rollback on commit error [#30096](https://togithub.com/spring-projects/spring-framework/pull/30096) - CaffeineCacheManager getCache method cause thread block [#30066](https://togithub.com/spring-projects/spring-framework/issues/30066) - RequestedContentTypeResolver does not ignore quality factor when filtering \*/\* media types [#29915](https://togithub.com/spring-projects/spring-framework/issues/29915) - `@Autowired`/`@Value` does not work on inner bean in native [#29803](https://togithub.com/spring-projects/spring-framework/issues/29803) - Avoid rollback after a commit failure in `TransactionalOperator` [#27572](https://togithub.com/spring-projects/spring-framework/pull/27572) - SpEL: cannot call methods declared in `java.lang.Object` on a JDK proxy [#25316](https://togithub.com/spring-projects/spring-framework/pull/25316) ##### :notebook_with_decorative_cover: Documentation - Add anchor rewrites in the reference documentation [#30132](https://togithub.com/spring-projects/spring-framework/issues/30132) - Fix minor spacings in webflux docs [#30078](https://togithub.com/spring-projects/spring-framework/pull/30078) - Add a list of observations produced by Spring Framework [#30060](https://togithub.com/spring-projects/spring-framework/issues/30060) ##### :hammer: Dependency Upgrades - Upgrade to Reactor 2022.0.5 [#30133](https://togithub.com/spring-projects/spring-framework/issues/30133) ##### :heart: Contributors Thank you to all the contributors who worked on this release: [@EnricSala](https://togithub.com/EnricSala), [@MrCoffee77](https://togithub.com/MrCoffee77), [@abelsromero](https://togithub.com/abelsromero), [@edyda99](https://togithub.com/edyda99), [@liupeng12345](https://togithub.com/liupeng12345), [@srivatsa-cfp](https://togithub.com/srivatsa-cfp), and [@yuzawa-san](https://togithub.com/yuzawa-san) ### [`v6.0.6`](https://togithub.com/spring-projects/spring-framework/releases/tag/v6.0.6) [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v6.0.5...v6.0.6) #### :star: New Features - Prefer request hostName and hostPort in ReactorServerHttpRequest [#30062](https://togithub.com/spring-projects/spring-framework/pull/30062) - Use `readNBytes` in ByteArrayHttpMessageConverter when contentLength is available [#30010](https://togithub.com/spring-projects/spring-framework/pull/30010) - Add missing `@Nullable` annotations to `LogMessage.format` methods [#30006](https://togithub.com/spring-projects/spring-framework/issues/30006) - Refine `CoroutinesUtils#invokeSuspendingFunction` contract [#30005](https://togithub.com/spring-projects/spring-framework/issues/30005) - `@SubscribeMapping` method not called when built as native image [#30002](https://togithub.com/spring-projects/spring-framework/issues/30002) - Provide method with `ContextView` instead of `Context` in `ServerWebExchangeContextFilter` [#29691](https://togithub.com/spring-projects/spring-framework/pull/29691) - Support `@Value` for record injection [#28774](https://togithub.com/spring-projects/spring-framework/pull/28774) #### :lady_beetle: Bug Fixes - WebClient now requires scheme [#30053](https://togithub.com/spring-projects/spring-framework/issues/30053) - Move `HttpServiceProxyFactoryExtensions.kt` to `spring-web` module [#30042](https://togithub.com/spring-projects/spring-framework/issues/30042) - AutowireCapableBeanFactory.createBean does not prefer default constructor anymore [#30041](https://togithub.com/spring-projects/spring-framework/issues/30041) - Server request URL with spring-webflux 6.0.5 is in resolved IP6 format [#30033](https://togithub.com/spring-projects/spring-framework/issues/30033) - `PathMatchingResourcePatternResolver` can no longer handle paths containing spaces and special characters [#30031](https://togithub.com/spring-projects/spring-framework/issues/30031) - Catch defensively exception thrown by validation contraints AOT processing of Kotlin extensions [#30037](https://togithub.com/spring-projects/spring-framework/issues/30037) - Fix proxy hint Kotlin extensions [#30025](https://togithub.com/spring-projects/spring-framework/issues/30025) - WebFlux fails with WebDAV HTTP methods [#29981](https://togithub.com/spring-projects/spring-framework/issues/29981) - `NullPointerException` if passing an anonymous class to `ReflectionsHint#registerType` [#29774](https://togithub.com/spring-projects/spring-framework/issues/29774) - Native hints for package private methods on custom `@Repository` class [#29764](https://togithub.com/spring-projects/spring-framework/issues/29764) - Native version of webflux/r2dbc failed [#29582](https://togithub.com/spring-projects/spring-framework/issues/29582) - Protect JMS connection creation against prepareConnection errors [#29116](https://togithub.com/spring-projects/spring-framework/pull/29116) - SingleConnectionFactory - reconnection problem (AMQ Broker) [#29115](https://togithub.com/spring-projects/spring-framework/issues/29115) #### :notebook_with_decorative_cover: Documentation - Fix "Configuring a Global Date and Time Format" example [#30034](https://togithub.com/spring-projects/spring-framework/pull/30034) - `@AspectJ` argument name resolution algorithm is outdated in reference manual [#30026](https://togithub.com/spring-projects/spring-framework/issues/30026) - Update comment in Javadoc of ServletRequestPathFilter DispatcherServlet relating to DispatcherServlet [#30014](https://togithub.com/spring-projects/spring-framework/pull/30014) - Revise AspectJ examples in the reference manual [#30003](https://togithub.com/spring-projects/spring-framework/issues/30003) - Revise `chomp` and `fold` settings in reference documentation [#30001](https://togithub.com/spring-projects/spring-framework/issues/30001) #### :hammer: Dependency Upgrades - Upgrade to Reactor 2022.0.4 [#30063](https://togithub.com/spring-projects/spring-framework/issues/30063) #### :heart: Contributors Thank you to all the contributors who worked on this release: [@1004789224](https://togithub.com/1004789224), [@1993heqiang](https://togithub.com/1993heqiang), [@AlexElin](https://togithub.com/AlexElin), [@diguage](https://togithub.com/diguage), [@divcon](https://togithub.com/divcon), [@izeye](https://togithub.com/izeye), [@kilink](https://togithub.com/kilink), [@lenoch7](https://togithub.com/lenoch7), [@sergiuprdn](https://togithub.com/sergiuprdn), [@singhbaljit](https://togithub.com/singhbaljit), and [@violetagg](https://togithub.com/violetagg) ### [`v6.0.5`](https://togithub.com/spring-projects/spring-framework/releases/tag/v6.0.5) [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v6.0.4...v6.0.5) ##### :star: New Features - Add RFC-8246 "immutable" attribute to `CacheControl` [#29955](https://togithub.com/spring-projects/spring-framework/pull/29955) - Allow MockRest to match header/queryParam value list with one Matcher [#29953](https://togithub.com/spring-projects/spring-framework/pull/29953) - DataBuffer should offer restricted access to underlying ByteBuffer [#29943](https://togithub.com/spring-projects/spring-framework/issues/29943) - Introduce `HttpServiceProxyFactory#createClient` Kotlin extension [#29942](https://togithub.com/spring-projects/spring-framework/issues/29942) - Support ProblemDetail serialization to XML with Jackson [#29927](https://togithub.com/spring-projects/spring-framework/issues/29927) - Refine `TransactionalOperator.executeAndAwait` nullability [#29919](https://togithub.com/spring-projects/spring-framework/issues/29919) - Early support for JDK 21 [#29910](https://togithub.com/spring-projects/spring-framework/issues/29910) - StringDecoder causes direct allocation of ByteBuffer [#29889](https://togithub.com/spring-projects/spring-framework/pull/29889) - Include all Hibernate query methods in `SharedEntityManagerCreator`'s `queryTerminatingMethods` set [#29886](https://togithub.com/spring-projects/spring-framework/issues/29886) - Add native support for RSocketExchange. [#29877](https://togithub.com/spring-projects/spring-framework/pull/29877) - Add `@Nullable` to `ProblemDetail.setProperty` value argument [#29868](https://togithub.com/spring-projects/spring-framework/pull/29868) - Deprecate obsolete `ConcurrentExecutorAdapter` for removal in 6.1 [#29865](https://togithub.com/spring-projects/spring-framework/issues/29865) - ContentDisposition.toString() should include both regular and extended filename parameter [#29861](https://togithub.com/spring-projects/spring-framework/issues/29861) - Refine `Jackson2ObjectMapperBuilder#configureFeature` exception handling [#29859](https://togithub.com/spring-projects/spring-framework/issues/29859) - Flexible constructor resolution in AutowireCapableBeanFactory.createBean(Class) [#29855](https://togithub.com/spring-projects/spring-framework/issues/29855) - Optimize CorsConfiguration::checkHeaders [#29853](https://togithub.com/spring-projects/spring-framework/pull/29853) - Spring Web RestTemplate `http.client.requests` Metrics No Longer Have `client.name` Tag [#29839](https://togithub.com/spring-projects/spring-framework/issues/29839) - Allow `@Aspect` classes to extend concrete `@Aspect` classes [#29830](https://togithub.com/spring-projects/spring-framework/issues/29830) - Custom Constraint Validator not work with native image [#29823](https://togithub.com/spring-projects/spring-framework/issues/29823) - Deprecate HttpStatus 103 CHECKPOINT in favor of new EARLY_HINTS [#29816](https://togithub.com/spring-projects/spring-framework/pull/29816) - Fix R2dbcTransactionManager debug log: don't log a Mono [#29800](https://togithub.com/spring-projects/spring-framework/pull/29800) - Improve generated default name for `@JmsListener` subscription [#29790](https://togithub.com/spring-projects/spring-framework/pull/29790) - Support double-quoted values in HttpHeaders::getValuesAsList [#29785](https://togithub.com/spring-projects/spring-framework/issues/29785) - Support method validation for an interface only proxy like an HTTP interface client [#29782](https://togithub.com/spring-projects/spring-framework/issues/29782) - ResourceHandlers cannot resolve static resources without wildcard patterns [#29739](https://togithub.com/spring-projects/spring-framework/issues/29739) - Release R2DBC connection when cleanup fails in transaction [#29703](https://togithub.com/spring-projects/spring-framework/pull/29703) - Spring Webfilters and Kotlin Coroutines [#29672](https://togithub.com/spring-projects/spring-framework/issues/29672) - Support "multipart/mixed" and "multipart/related" in DefaultServerWebExchange [#29671](https://togithub.com/spring-projects/spring-framework/pull/29671) - `@JsonDeserialize(builder = ...)` does not work in GraalVM native image [#29646](https://togithub.com/spring-projects/spring-framework/issues/29646) - Combined class and method `@RequestMapping` without patterns should match root path as both "" and "/" [#29625](https://togithub.com/spring-projects/spring-framework/issues/29625) - Prefer problem detail media type independent of ordering in Accept header [#29588](https://togithub.com/spring-projects/spring-framework/issues/29588) - Restrict forwards in MockMvcWebConnection to 100 [#29557](https://togithub.com/spring-projects/spring-framework/pull/29557) - `@JsonNaming` strategy is not supported in GraalVM native image [#29386](https://togithub.com/spring-projects/spring-framework/issues/29386) - SQL supplier in R2DBC `DatabaseClient` is eagerly invoked [#29367](https://togithub.com/spring-projects/spring-framework/issues/29367) - Set reason for WebSocket `CloseStatus.SESSION\_NOT\_RELIABLE` [#29220](https://togithub.com/spring-projects/spring-framework/pull/29220) - HttpComponentsClientHttpConnector hangs when host is invalid [#29156](https://togithub.com/spring-projects/spring-framework/issues/29156) - Add ResponseEntity.ofNullable() to deal with non-Optional nullable objects [#29117](https://togithub.com/spring-projects/spring-framework/issues/29117) - Provide access to all configured interceptors in AbstractHandlerMapping [#28985](https://togithub.com/spring-projects/spring-framework/issues/28985) - Support `Optional` in `PayloadMethodArgumentResolver` [#28945](https://togithub.com/spring-projects/spring-framework/issues/28945) - Remove clear() call to release method of WeakEntryReference and SoftEntryReference [#28863](https://togithub.com/spring-projects/spring-framework/pull/28863) - Add `MockMvc.multipart()` Kotlin extensions with `HttpMethod` [#28634](https://togithub.com/spring-projects/spring-framework/pull/28634) - WebSocketConnectionManager constructor with prepared URI [#28524](https://togithub.com/spring-projects/spring-framework/issues/28524) - Deprecate Base64Utils [#28434](https://togithub.com/spring-projects/spring-framework/pull/28434) - List supported media types in HttpMediaTypeNotSupportedException when given invalid input media types [#28062](https://togithub.com/spring-projects/spring-framework/issues/28062) - Introduce getContentAsString and getContentAsByteArray to Resource [#24651](https://togithub.com/spring-projects/spring-framework/pull/24651) - Support Optional in Jackson 2 message converters [#24498](https://togithub.com/spring-projects/spring-framework/issues/24498) - Refine `ModelAttributeMethodProcessor` Kotlin exception handling [#23846](https://togithub.com/spring-projects/spring-framework/issues/23846) ##### :lady_beetle: Bug Fixes - DefaultHandlerExceptionResolver::doResolveException no longer returns ModelAndView customized via protected method [#29971](https://togithub.com/spring-projects/spring-framework/issues/29971) - `ex.getPropertyName()` is not initialized in `ResponseEntityExceptionHandler#handleTypeMismatch` [#29959](https://togithub.com/spring-projects/spring-framework/issues/29959) - Violation of a unique index on insert in MSSQL is translated to DataIntegrityViolationException instead of DuplicateKeyException [#29950](https://togithub.com/spring-projects/spring-framework/issues/29950) - PathMatchingResourcePatternResolver duplicates module/file resources [#29934](https://togithub.com/spring-projects/spring-framework/issues/29934) - ResourceUrlEncodingFilter throws StringIndexOutOfBoundsException in tests [#29933](https://togithub.com/spring-projects/spring-framework/issues/29933) - Explicit target ClassLoader for interface-based proxies in MvcUriComponentsBuilder [#29913](https://togithub.com/spring-projects/spring-framework/issues/29913) - org.springframework.web.context.ContextLoader cannot be loaded in a native image [#29905](https://togithub.com/spring-projects/spring-framework/issues/29905) - MockHttpServletRequest InputStream has been made static in [gh-29125](https://togithub.com/spring-projects/spring-framework/issues/29125) [#29901](https://togithub.com/spring-projects/spring-framework/issues/29901) - MvcUriComponentsBuilder adds trailing slash if path is defined at controller level only [#29897](https://togithub.com/spring-projects/spring-framework/issues/29897) - Closing an ApplicationContext leads to Exception at ExecutorServiceAdapter [#29892](https://togithub.com/spring-projects/spring-framework/issues/29892) - Set WebClient Observation as current in reactor context [#29891](https://togithub.com/spring-projects/spring-framework/issues/29891) - Client request observation contributes full URI template to uri meter tag values [#29885](https://togithub.com/spring-projects/spring-framework/issues/29885) - HTTP client observations miss uri keyvalue for "/" requests [#29879](https://togithub.com/spring-projects/spring-framework/issues/29879) - ProblemDetail is missing serialization hints for Native Image [#29801](https://togithub.com/spring-projects/spring-framework/issues/29801) - Invalid Accept header results in IllegalStateException [#29794](https://togithub.com/spring-projects/spring-framework/issues/29794) - AOT processing fails with Set if type doesn't implement Comparable [#29792](https://togithub.com/spring-projects/spring-framework/issues/29792) - CSRF token not available to FreeMarker templates [#29787](https://togithub.com/spring-projects/spring-framework/issues/29787) - Fail more explicitly when AOT attempts to handle a bean definition that uses an instance supplier [#29556](https://togithub.com/spring-projects/spring-framework/issues/29556) - WebSocket stats not updated correctly when sessions cleared [#29375](https://togithub.com/spring-projects/spring-framework/issues/29375) - `MockHttpServletRequest#setContentType` fails with `StringIndexOutOfBoundsException` [#29255](https://togithub.com/spring-projects/spring-framework/issues/29255) - `InMemoryWebSessionStore#changeSessionId` makes blocking calls to UUID.randomUUID [#29212](https://togithub.com/spring-projects/spring-framework/issues/29212) - ReactorServerHttpRequest does not reflect forwarded host and port when `forwarding-header-strategy=native` or cloud platform detected [#28601](https://togithub.com/spring-projects/spring-framework/issues/28601) - Propagate `CoroutineContext` in reactive transaction [#27308](https://togithub.com/spring-projects/spring-framework/pull/27308) - Bean validation doesn't work on Kotlin coroutines controller parameters [#23499](https://togithub.com/spring-projects/spring-framework/issues/23499) ##### :notebook_with_decorative_cover: Documentation - Update `@DynamicPropertySource` examples regarding changes in Testcontainers [#29939](https://togithub.com/spring-projects/spring-framework/issues/29939) - Refine `ControllerMappingReflectiveProcessor` documentation [#29938](https://togithub.com/spring-projects/spring-framework/issues/29938) - Clarify semantics of `primitivesDefaultedForNullValue` in `BeanPropertyRowMapper` [#29923](https://togithub.com/spring-projects/spring-framework/issues/29923) - Document instrumentation for RestTemplate and/or WebClient [#29904](https://togithub.com/spring-projects/spring-framework/issues/29904) - CronExpression::parse has invalid Javadoc [#29884](https://togithub.com/spring-projects/spring-framework/issues/29884) - Update Javadoc on async request timeout value in HandlerFunctionAdapter [#29882](https://togithub.com/spring-projects/spring-framework/pull/29882) - Document how to mark an observation as an error if the exception was handled [#29848](https://togithub.com/spring-projects/spring-framework/issues/29848) - Document that bean instance suppliers are not supported with AOT/native [#29835](https://togithub.com/spring-projects/spring-framework/issues/29835) - Clearly document that `DataClassRowMapper` supports Java records [#29814](https://togithub.com/spring-projects/spring-framework/issues/29814) - Increase number of TOC levels in generated PDF documentation [#29781](https://togithub.com/spring-projects/spring-framework/pull/29781) - Consistent `@Bean` method return type for equivalence with XML example [#29338](https://togithub.com/spring-projects/spring-framework/issues/29338) - Outdated Javadoc for AbstractApplicationContext.postProcessBeanFactory [#29064](https://togithub.com/spring-projects/spring-framework/issues/29064) - Improve documentation on support for a language-only Locale requested via "Accept-Language" [#28673](https://togithub.com/spring-projects/spring-framework/issues/28673) - Update the reference documentation with limitation related to `@Bean` return type [#29944](https://togithub.com/spring-projects/spring-framework/issues/29944) ##### :hammer: Dependency Upgrades - Upgrade to Micrometer 1.10.4 [#29899](https://togithub.com/spring-projects/spring-framework/issues/29899) - Upgrade to Reactor 2022.0.3 [#29900](https://togithub.com/spring-projects/spring-framework/issues/29900) ##### :heart: Contributors Thank you to all the contributors who worked on this release: [@Drezir](https://togithub.com/Drezir), [@FutureGadget](https://togithub.com/FutureGadget), [@OlgaMaciaszek](https://togithub.com/OlgaMaciaszek), [@ThomHurks](https://togithub.com/ThomHurks), [@a364176773](https://togithub.com/a364176773), [@bcc829](https://togithub.com/bcc829), [@derrick-pericipio](https://togithub.com/derrick-pericipio), [@divcon](https://togithub.com/divcon), [@etylermoss](https://togithub.com/etylermoss), [@fml2](https://togithub.com/fml2), [@izeye](https://togithub.com/izeye), [@j-min5u](https://togithub.com/j-min5u), [@j3graham](https://togithub.com/j3graham), [@jprinet](https://togithub.com/jprinet), [@krzyk](https://togithub.com/krzyk), [@ks-yim](https://togithub.com/ks-yim), [@making](https://togithub.com/making), [@manthanb](https://togithub.com/manthanb), [@quaff](https://togithub.com/quaff), [@r331](https://togithub.com/r331), [@sephiroth-j](https://togithub.com/sephiroth-j), [@srivatsa-cfp](https://togithub.com/srivatsa-cfp), [@vikeychen](https://togithub.com/vikeychen), [@wplong11](https://togithub.com/wplong11), [@xavier-b](https://togithub.com/xavier-b), [@yuezk](https://togithub.com/yuezk), [@yuzawa-san](https://togithub.com/yuzawa-san), and [@zhmaeff](https://togithub.com/zhmaeff) ### [`v6.0.4`](https://togithub.com/spring-projects/spring-framework/releases/tag/v6.0.4) [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v6.0.3...v6.0.4) ##### :star: New Features - Add native support for `@Convert` on JPA entities [#29771](https://togithub.com/spring-projects/spring-framework/issues/29771) - `@RequestPart` dto not configured for reflection in aot [#29749](https://togithub.com/spring-projects/spring-framework/issues/29749) - Avoid wasted memory on empty maps and sets [#29742](https://togithub.com/spring-projects/spring-framework/pull/29742) - Compatibility with Hibernate ORM 6.2 [#29736](https://togithub.com/spring-projects/spring-framework/issues/29736) - Add Kotlin DSL support for MockMVC andExpectAll [#29727](https://togithub.com/spring-projects/spring-framework/pull/29727) - Add ExecutingResponseCreator to delegate request and response [#29721](https://togithub.com/spring-projects/spring-framework/pull/29721) - JmsTemplate.convertAndSend throws NullPointerException during shutdown [#29706](https://togithub.com/spring-projects/spring-framework/issues/29706) - Extract ResourceEntityResolver HTTPS schema resolution fallback [#29697](https://togithub.com/spring-projects/spring-framework/pull/29697) - `@Configuration` classes with Kotlin in native-image are broken [#29663](https://togithub.com/spring-projects/spring-framework/issues/29663) - Introduce Kotlin DSL for `ResultActions.andExpectAll()` [#27317](https://togithub.com/spring-projects/spring-framework/issues/27317) ##### :lady_beetle: Bug Fixes - ResourceHandlers cannot resolve static resources with certain wildcard patterns [#29712](https://togithub.com/spring-projects/spring-framework/issues/29712) - Conflict on insert gets translated to DataIntegrityViolationException instead of DuplicateKeyException in Spring 6 [#29699](https://togithub.com/spring-projects/spring-framework/issues/29699) ##### :notebook_with_decorative_cover: Documentation - fix typo in core-aot.adoc [#29788](https://togithub.com/spring-projects/spring-framework/pull/29788) - Polish [#29727](https://togithub.com/spring-projects/spring-framework/issues/29727): Mention Kotlin andExpectAll in reference manual [#29766](https://togithub.com/spring-projects/spring-framework/pull/29766) - Update Jakarta Mail info in ref docs [#29707](https://togithub.com/spring-projects/spring-framework/issues/29707) - Trigger/TriggerContext reference documentation outdated [#29702](https://togithub.com/spring-projects/spring-framework/issues/29702) - Improve documentation for literals in SpEL expressions [#29700](https://togithub.com/spring-projects/spring-framework/issues/29700) - Small fixes and improvements to the reference documentation [#29694](https://togithub.com/spring-projects/spring-framework/pull/29694) - Fix manipulating property sources example in Javadoc for `ConfigurableEnvironment` [#29693](https://togithub.com/spring-projects/spring-framework/pull/29693) ##### :hammer: Dependency Upgrades - Upgrade to Micrometer 1.10.3 [#29802](https://togithub.com/spring-projects/spring-framework/issues/29802) - Upgrade to Reactor 2022.0.2 [#29797](https://togithub.com/spring-projects/spring-framework/issues/29797) ##### :heart: Contributors Thank you to all the contributors who worked on this release: [@Dunemaster](https://togithub.com/Dunemaster), [@IDJack](https://togithub.com/IDJack), [@diguage](https://togithub.com/diguage), [@izeye](https://togithub.com/izeye), and [@quim3ra](https://togithub.com/quim3ra) ### [`v6.0.3`](https://togithub.com/spring-projects/spring-framework/releases/tag/v6.0.3) [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v6.0.2...v6.0.3) #### :star: New Features - Throw PessimisticLockingFailureException/CannotAcquireLockException instead of plain ConcurrencyFailureException [#29675](https://togithub.com/spring-projects/spring-framework/issues/29675) - Introduce additional constructors in `MockClientHttpRequest` and `MockClientHttpResponse` [#29670](https://togithub.com/spring-projects/spring-framework/issues/29670) - Fall back to JdkClientHttpConnector as ClientHttpConnector [#29645](https://togithub.com/spring-projects/spring-framework/pull/29645) - Optimize object creation in `RequestMappingHandlerMapping#handleNoMatch` [#29634](https://togithub.com/spring-projects/spring-framework/pull/29634) - Align multipart codecs on client and server [#29630](https://togithub.com/spring-projects/spring-framework/issues/29630) - Deprecate "application/graphql+json" media type after spec changes [#29617](https://togithub.com/spring-projects/spring-framework/issues/29617) - HTTP interface client does not call FormHttpMessageWriter when writing form data [#29615](https://togithub.com/spring-projects/spring-framework/issues/29615) - ProblemDetail doesn't override the equals method [#29606](https://togithub.com/spring-projects/spring-framework/issues/29606) - Add title to SockJS iFrames for accessibility compliance [#29594](https://togithub.com/spring-projects/spring-framework/pull/29594) - Forbid loading of a test's `ApplicationContext` in AOT mode if AOT processing failed [#29579](https://togithub.com/spring-projects/spring-framework/issues/29579) - Deprecate JettyWebSocketClient in favor of StandardWebSocketClient [#29576](https://togithub.com/spring-projects/spring-framework/issues/29576) - Improve options to expose MessageSource formatted errors for a ProblemDetail response [#29574](https://togithub.com/spring-projects/spring-framework/issues/29574) - Make `@ModelAttribute` and `@InitBinder` annotations `@Reflective` [#29572](https://togithub.com/spring-projects/spring-framework/issues/29572) - Update `BindingReflectionHintsRegistrar` to support properties on records [#29571](https://togithub.com/spring-projects/spring-framework/issues/29571) #### :lady_beetle: Bug Fixes - Cannot use WebDAV methods in Spring MVC 6.0 anymore [#29689](https://togithub.com/spring-projects/spring-framework/issues/29689) - AnnotatedElementUtils.findMergedRepeatableAnnotations does not fetch results when other attributes exist in container annotation [#29685](https://togithub.com/spring-projects/spring-framework/issues/29685) - BeanWrapperImpl NPE in setWrappedInstance after invoking getPropertyValue [#29681](https://togithub.com/spring-projects/spring-framework/issues/29681) - SpEL `ConstructorReference` does not generate AST representation of arrays [#29665](https://togithub.com/spring-projects/spring-framework/issues/29665) - NullPointerException in BindingReflectionHintsRegistrar for anonymous classes [#29657](https://togithub.com/spring-projects/spring-framework/issues/29657) - DataBufferInputStream violates InputStream contract [#29642](https://togithub.com/spring-projects/spring-framework/issues/29642) - Component scanning no longer uses component index for `@Named`, `@ManagedBean`, and other Jakarta annotations [#29641](https://togithub.com/spring-projects/spring-framework/issues/29641) - Fix canWrite in PartHttpMessageWriter [#29631](https://togithub.com/spring-projects/spring-framework/pull/29631) - `NoHandlerFoundException` mistakenly returns request headers from `ErrorResponse#getHeaders` [#29626](https://togithub.com/spring-projects/spring-framework/issues/29626) - URI override for `@HttpExchange` doesn't work if there are both `URI` and `@PathVariable` method parameters [#29624](https://togithub.com/spring-projects/spring-framework/issues/29624) - Unnecessary parameter name introspection for constructor-arg resolution (leading to LocalVariableTableParameterNameDiscoverer warnings) [#29612](https://togithub.com/spring-projects/spring-framework/issues/29612) - Set detail from reason in both constructors of ResponseStatusException [#29608](https://togithub.com/spring-projects/spring-framework/pull/29608) - SpEL string literal misses single quotation marks in toStringAST() [#29604](https://togithub.com/spring-projects/spring-framework/issues/29604) - AOT code generation fails for bean of type `boolean` [#29598](https://togithub.com/spring-projects/spring-framework/issues/29598) - `request`-scoped bean with `@Lazy` fails in native image (due to missing detection of CGLIB lazy resolution proxies) [#29584](https://togithub.com/spring-projects/spring-framework/issues/29584) - 500 error from WebFlux when parsing Content-Type leads to InvalidMediaTypeException [#29565](https://togithub.com/spring-projects/spring-framework/issues/29565) - ConcurrentLruCache implementation is using too much heap memory [#29520](https://togithub.com/spring-projects/spring-framework/issues/29520) - Duplicate key violation gets translated to DataIntegrityViolationException instead of DuplicateKeyException in Spring 6 [#29511](https://togithub.com/spring-projects/spring-framework/issues/29511) - SpEL: Two double quotes are replaced by one double quote in single quoted `String` literal (and vice versa) [#28356](https://togithub.com/spring-projects/spring-framework/issues/28356) #### :notebook_with_decorative_cover: Documentation - Fix ErrorResponse#type documentation [#29632](https://togithub.com/spring-projects/spring-framework/pull/29632) - Fix typo in observability documentation [#29590](https://togithub.com/spring-projects/spring-framework/pull/29590) - Consistent documentation references to Jakarta WebSocket (2.1) [#29581](https://togithub.com/spring-projects/spring-framework/issues/29581) - Unrendered asciidoc headings in reference documentation [#29569](https://togithub.com/spring-projects/spring-framework/issues/29569) - Document observability support [#29524](https://togithub.com/spring-projects/spring-framework/issues/29524) #### :hammer: Dependency Upgrades - Upgrade to Apache HttpClient 5.2 [#29627](https://togithub.com/spring-projects/spring-framework/issues/29627) - Upgrade to Gradle 7.6 [#29583](https://togithub.com/spring-projects/spring-framework/issues/29583) - Upgrade to Micrometer 1.10.2 [#29678](https://togithub.com/spring-projects/spring-framework/issues/29678) - Upgrade to Reactor 2022.0.1 [#29679](https://togithub.com/spring-projects/spring-framework/issues/29679) #### :heart: Contributors Thank you to all the contributors who worked on this release: [@Aashay-Chapatwala](https://togithub.com/Aashay-Chapatwala), [@CoderYellow](https://togithub.com/CoderYellow), [@ShenFeng312](https://togithub.com/ShenFeng312), [@Spark61](https://togithub.com/Spark61), [@divcon](https://togithub.com/divcon), [@izeye](https://togithub.com/izeye), [@koo-taejin](https://togithub.com/koo-taejin), [@mdeinum](https://togithub.com/mdeinum), [@mhalbritter](https://togithub.com/mhalbritter), [@quaff](https://togithub.com/quaff), and [@singhbaljit](https://togithub.com/singhbaljit) ### [`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.26...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.26`](https://togithub.com/spring-projects/spring-framework/releases/tag/v5.3.26) [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v5.3.25...v5.3.26) ##### :star: New Features - Improve diagnostics in SpEL for `matches` operator [#30145](https://togithub.com/spring-projects/spring-framework/issues/30145) - Improve diagnostics in SpEL for repeated text [#30143](https://togithub.com/spring-projects/spring-framework/issues/30143) - Increase scope of regex pattern cache for the SpEL `matches` operator [#30141](https://togithub.com/spring-projects/spring-framework/issues/30141) - Minor updates in HandlerMappingIntrospector [#30128](https://togithub.com/spring-projects/spring-framework/issues/30128) - Allow SnakeYaml 2.0 runtime compatibility [#30097](https://togithub.com/spring-projects/spring-framework/issues/30097) - Add missing `@Nullable` annotations to `LogMessage.format` methods [#30009](https://togithub.com/spring-projects/spring-framework/issues/30009) - ASM upgrade for JDK 20/21 support [#29966](https://togithub.com/spring-projects/spring-framework/issues/29966) - Allow MockRest to match header/queryParam value list with one Matcher [#29964](https://togithub.com/spring-projects/spring-framework/issues/29964) - Add `MockMvc.multipart()` Kotlin extensions with `HttpMethod` [#29941](https://togithub.com/spring-projects/spring-framework/issues/29941) - Release R2DBC connection when cleanup fails in transaction [#29925](https://togithub.com/spring-projects/spring-framework/issues/29925) - org.springframework.web.context.ContextLoader should lazily load ContextLoader.properties [#29909](https://togithub.com/spring-projects/spring-framework/issues/29909) - Improve generated default name for `@JmsListener` subscription [#29902](https://togithub.com/spring-projects/spring-framework/issues/29902) - Include all Hibernate query methods in `SharedEntityManagerCreator`'s `queryTerminatingMethods` set [#29888](https://togithub.com/spring-projects/spring-framework/issues/29888) - SQL supplier in R2DBC `DatabaseClient` is eagerly invoked [#29887](https://togithub.com/spring-projects/spring-framework/issues/29887) - Spring Framework 5.3.x is incompatible with Jetty 10 (Client) [#29867](https://togithub.com/spring-projects/spring-framework/issues/29867) - Possible infinite forward loop with MockMvcWebConnection [#29866](https://togithub.com/spring-projects/spring-framework/issues/29866) - Refine `Jackson2ObjectMapperBuilder#configureFeature` exception handling [#29860](https://togithub.com/spring-projects/spring-framework/issues/29860) - Fix R2dbcTransactionManager debug log: don't log a Mono [#29824](https://togithub.com/spring-projects/spring-framework/issues/29824) ##### :lady_beetle: Bug Fixes - RequestedContentTypeResolver does not ignore quality factor when filtering \*/\* media types [#30121](https://togithub.com/spring-projects/spring-framework/issues/30121) - SpEL: cannot call methods declared in `java.lang.Object` on a JDK proxy [#30118](https://togithub.com/spring-projects/spring-framework/issues/30118) - CaffeineCacheManager getCache method cause thread block [#30085](https://togithub.com/spring-projects/spring-framework/issues/30085) - Protect JMS connection creation against prepareConnection errors [#30051](https://togithub.com/spring-projects/spring-framework/issues/30051) - ReactorServerHttpRequest does not reflect forwarded host and port when `forwarding-header-strategy=native` or cloud platform detected [#29974](https://togithub.com/spring-projects/spring-framework/issues/29974) - WebSocket stats not updated correctly when sessions cleared [#29947](https://togithub.com/spring-projects/spring-framework/issues/29947) - Explicit target ClassLoader for interface-based proxies in MvcUriComponentsBuilder [#29914](https://togithub.com/spring-projects/spring-framework/issues/29914) - Closing an ApplicationContext leads to Exception at ExecutorServiceAdapter [#29908](https://togithub.com/spring-projects/spring-framework/issues/29908) - Invalid Accept header results in IllegalStateException [#29836](https://togithub.com/spring-projects/spring-framework/issues/29836) - JettyWebSocketCreator referenced from a method is not visible from class loader with `Jetty10RequestUpgradeStrategy` [#29256](https://togithub.com/spring-projects/spring-framework/issues/29256) ##### :notebook_with_decorative_cover: Documentation - Fix minor spacings in webflux docs [#30095](https://togithub.com/spring-projects/spring-framework/issues/30095) - `@AspectJ` argument name resolution algorithm is outdated in reference manual [#30057](https://togithub.com/spring-projects/spring-framework/issues/30057) - Fix "Configuring a Global Date and Time Format" example [#30036](https://togithub.com/spring-projects/spring-framework/issues/30036) - Consistent `@Bean` method return type for equivalence with XML example [#29970](https://togithub.com/spring-projects/spring-framework/issues/29970) - Update `@DynamicPropertySource` examples regarding changes in Testcontainers [#29940](https://togithub.com/spring-projects/spring-framework/issues/29940) - Clarify semantics of `primitivesDefaultedForNullValue` in `BeanPropertyRowMapper` [#29926](https://togithub.com/spring-projects/spring-framework/issues/29926) - Clearly document that `DataClassRowMapper` supports Java records [#29922](https://togithub.com/spring-projects/spring-framework/issues/29922) - Outdated Javadoc for AbstractApplicationContext.postProcessBeanFactory [#29916](https://togithub.com/spring-projects/spring-framework/issues/29916) ##### :hammer: Dependency Upgrades - Upgrade to Reactor Netty 2020.0.30 [#30116](https://togithub.com/spring-projects/spring-framework/issues/30116) ### [`v5.3.25`](https://togithub.com/spring-projects/spring-framework/releases/tag/v5.3.25) [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v5.3.24...v5.3.25) ##### :star: New Features - JmsTemplate.convertAndSend throws NullPointerException during shutdown [#29719](https://togithub.com/spring-projects/spring-framework/issues/29719) - Optimize object creation in RequestMappingHandlerMapping#handleNoMatch [#29667](https://togithub.com/spring-projects/spring-framework/issues/29667) - Add title to SockJS iFrames for accessibility compliance [#29596](https://togithub.com/spring-projects/spring-framework/issues/29596) ##### :lady_beetle: Bug Fixes - ResourceHandlers cannot resolve static resources with certain wildcard patterns [#29716](https://togithub.com/spring-projects/spring-framework/issues/29716) - AnnotatedElementUtils.findMergedRepeatableAnnotations does not fetch results when other attributes exist for container annotation [#29686](https://togithub.com/spring-projects/spring-framework/issues/29686) - BeanWrapperImpl NPE in setWrappedInstance after invoking getPropertyValue (with SimpleBeanInfoFactory) [#29684](https://togithub.com/spring-projects/spring-framework/issues/29684) - SpEL `ConstructorReference` does not generate AST representation of arrays [#29666](https://togithub.com/spring-projects/spring-framework/issues/29666) - SpEL: Two double quotes are replaced by one double quote in single quoted `String` literal (and vice versa) [#29653](https://togithub.com/spring-projects/spring-framework/issues/29653) - SpEL string literal misses single quotation marks in toStringAST() [#29652](https://togithub.com/spring-projects/spring-framework/issues/29652) - 500 error from WebFlux when parsing Content-Type leads to InvalidMediaTypeException [#29637](https://togithub.com/spring-projects/spring-framework/issues/29637) - `WebMvcConfigurationSupport` should not catch `Throwable` for `SourceHttpMessageConverter` [#29537](https://togithub.com/spring-projects/spring-framework/issues/29537) ##### :notebook_with_decorative_cover: Documentation - Update Jakarta Mail info in ref docs [#29708](https://togithub.com/spring-projects/spring-framework/issues/29708) - Improve documentation for literals in SpEL expressions [#29701](https://togithub.com/spring-projects/spring-framework/issues/29701) - Fix some typos in Kotlin WebClient example code [#29542](https://togithub.com/spring-projects/spring-framework/issues/29542) - Fix link to Bean Utils Light Library in BeanUtils Javadoc [#29536](https://togithub.com/spring-projects/spring-framework/issues/29536) - Fix link to WebFlux section in reference manual [#29526](https://togithub.com/spring-projects/spring-framework/issues/29526) - Link to Spring WebFlux section is broken [#29517](https://togithub.com/spring-projects/spring-framework/issues/29517) ##### :hammer: Dependency Upgrades - Upgrade to Reactor 2020.0.27 [#29798](https://togithub.com/spring-projects/spring-framework/issues/29798) ### [`v5.3.24`](https://togithub.com/spring-projects/spring-framework/releases/tag/v5.3.24) [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v5.3.23...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) - [@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 becomes conflicted, 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.