⭐ New Features
- HttpComponentsClientHttpConnector should close underlying resources #27032
- Default value of StandaloneMockMvcBuilder.useSuffixPatternMatch differs from the same property in RequestMappingHandlerMapping #27030
- Lookup method autowiring ignores method's generic info #26998
- Set BEST_MATCHING_PATTERN_ATTRIBUTE on requests with WebMvc.fn #26963
- Remove jackson-module-kotlin warning #26962
- Switch back to parallel thread after WebSession id is generated #26958
- Introduce ResponseEntity.internalServerError() #26952
- Polish PORT_PATTERN in UriComponentsBuilder #26951
- Deprecate/Remove internal APIs in ScriptUtils implementations #26947
- Consider returning static DefaultApplicationStartup step #26939
- Exception in Tomcat when SockJS top URL is a WebSocket upgrade #26933
- Improve support for port numbers in allowedOriginPattern of CorsConfiguration #26927
- Add ApplicationEvent constructor for specifying timestamp #26871
- Add awaitExchangeOrNull extension function to reactive webclient #26778
🪲 Bug Fixes
- Revisit fix for gh-26905 in UriComponentsBuilder #27039
- MultipartHttpMessageWriter in WebClient doesn't use custom Jackson Encoder since 5.3.3 #27017
- PartFile name lost when building a MultiPart #27007
- No replacement of deprecated CronSequenceGenerator.isValidExpression #26996
- NPE if StompEndpointRegistry has allowedOrigins with null #26987
- CronExpression is broken on spring-context-5.3.6 #26964
- FlightRecorderApplicationStartup is not thread safe #26941
- Ignore delimiter enclosed in double quotes in ScriptUtils #26935
- Ignore comments when searching for SQL statement delimiter in ScriptUtils #26911
📔 Documentation
- spring-framework-main-code attribute has not been expanded in docs #27041
- Document that class-level
@ResponseStatus
is inherited by@ExceptionHandler
methods #27031 - Improve
@Transactional
docs regarding method visibility #27003 - Fix
@Transactional
examples regarding method visibility #27001 - Fix typo in code example #26980
- Document transactional semantics for
@TransactionalEventListener
after completion methods #26974 - Fix typo #26973
- Fix broken Javadoc tags #26967
🔨 Dependency Upgrades
- Upgrade to ASM master #27023
- Upgrade to Coroutines 1.5.0 #26897
- Upgrade to JUnit 5.7.2 #26946
- Upgrade to Kotlin 1.5.10 #27035
❤️ Contributors
We'd like to thank all the contributors who worked on this release!