v6.0.3
版本发布时间: 2022-12-15 17:31:39
spring-projects/spring-framework最新发布版本:v6.2.0(2024-11-15 00:46:47)
:star: New Features
- Throw PessimisticLockingFailureException/CannotAcquireLockException instead of plain ConcurrencyFailureException #29675
- Introduce additional constructors in
MockClientHttpRequest
andMockClientHttpResponse
#29670 - Fall back to JdkClientHttpConnector as ClientHttpConnector #29645
- Optimize object creation in
RequestMappingHandlerMapping#handleNoMatch
#29634 - Align multipart codecs on client and server #29630
- Deprecate "application/graphql+json" media type after spec changes #29617
- HTTP interface client does not call FormHttpMessageWriter when writing form data #29615
- ProblemDetail doesn't override the equals method #29606
- Add title to SockJS iFrames for accessibility compliance #29594
- Forbid loading of a test's
ApplicationContext
in AOT mode if AOT processing failed #29579 - Deprecate JettyWebSocketClient in favor of StandardWebSocketClient #29576
- Improve options to expose MessageSource formatted errors for a ProblemDetail response #29574
- Make
@ModelAttribute
and@InitBinder
annotations@Reflective
#29572 - Update
BindingReflectionHintsRegistrar
to support properties on records #29571
:lady_beetle: Bug Fixes
- Cannot use WebDAV methods in Spring MVC 6.0 anymore #29689
- AnnotatedElementUtils.findMergedRepeatableAnnotations does not fetch results when other attributes exist in container annotation #29685
- BeanWrapperImpl NPE in setWrappedInstance after invoking getPropertyValue #29681
- SpEL
ConstructorReference
does not generate AST representation of arrays #29665 - NullPointerException in BindingReflectionHintsRegistrar for anonymous classes #29657
- DataBufferInputStream violates InputStream contract #29642
- Component scanning no longer uses component index for
@Named
,@ManagedBean
, and other Jakarta annotations #29641 - Fix canWrite in PartHttpMessageWriter #29631
-
NoHandlerFoundException
mistakenly returns request headers fromErrorResponse#getHeaders
#29626 - URI override for
@HttpExchange
doesn't work if there are bothURI
and@PathVariable
method parameters #29624 - Unnecessary parameter name introspection for constructor-arg resolution (leading to LocalVariableTableParameterNameDiscoverer warnings) #29612
- Set detail from reason in both constructors of ResponseStatusException #29608
- SpEL string literal misses single quotation marks in toStringAST() #29604
- AOT code generation fails for bean of type
boolean
#29598 -
request
-scoped bean with@Lazy
fails in native image (due to missing detection of CGLIB lazy resolution proxies) #29584 - 500 error from WebFlux when parsing Content-Type leads to InvalidMediaTypeException #29565
- ConcurrentLruCache implementation is using too much heap memory #29520
- Duplicate key violation gets translated to DataIntegrityViolationException instead of DuplicateKeyException in Spring 6 #29511
- SpEL: Two double quotes are replaced by one double quote in single quoted
String
literal (and vice versa) #28356
:notebook_with_decorative_cover: Documentation
- Fix ErrorResponse#type documentation #29632
- Fix typo in observability documentation #29590
- Consistent documentation references to Jakarta WebSocket (2.1) #29581
- Unrendered asciidoc headings in reference documentation #29569
- Document observability support #29524
:hammer: Dependency Upgrades
- Upgrade to Apache HttpClient 5.2 #29627
- Upgrade to Gradle 7.6 #29583
- Upgrade to Micrometer 1.10.2 #29678
- Upgrade to Reactor 2022.0.1 #29679
:heart: Contributors
Thank you to all the contributors who worked on this release:
@Aashay-Chapatwala, @CoderYellow, @ShenFeng312, @Spark61, @divcon, @izeye, @koo-taejin, @mdeinum, @mhalbritter, @quaff, and @singhbaljit