Release Notes - Spring Framework - Version 5.1.3 - HTML format

Bug

  • [SPR-17429] - ProtobufDecoder assumes number of bytes in delimited format will not be split into chunks
  • [SPR-17439] - RestTemplate does not throw exception for custom error codes
  • [SPR-17442] - ConcurrentModificationException in DispatcherServlet with asynchronous ApplicationEventMulticaster
  • [SPR-17452] - ClassUtils.forName fails to load class from ContextTypeMatchClassLoader
  • [SPR-17460] - Aliases in parameter annotations on a controller interface are not evaluated
  • [SPR-17465] - WebClient's UriBuilder option should encode path parameters passed into build
  • [SPR-17467] - Type annotations and generic types causing ArrayIndexOutOfBoundsException
  • [SPR-17476] - NamedParameterJdbcTemplate batchUpdate returns an array of size 1 when the batchArgs passed is an empty array
  • [SPR-17482] - WebClient throws "Only one connection receive subscriber allowed" when response has content but no Content-Type header
  • [SPR-17486] - NPE in ClientRequest.attribute(name) when accessing null value
  • [SPR-17489] - Jackson2ObjectMapperBuilder visibilities need to be applied in order
  • [SPR-17492] - FastByteArrayInputStream.read() wrong return value
  • [SPR-17497] - ArrayIndexOutOfBoundsException when reading metadata for a class that uses javax.validation.NotNull on a local variable
  • [SPR-17500] - Illegal reflective access operation warning for toString() on CGLIB proxies
  • [SPR-17502] - Remove Content-Length response header before delegating to WebExceptionHandlers
  • [SPR-17506] - HTTP GET from Chrome with WebFlux Rest Controller never completes
  • [SPR-17508] - Reserializing a lenient fallback DefaultListableBeanFactory causes an error
  • [SPR-17524] - getBeanNamesForType(ResolvableType) doesn't work for raw singleton instance from @Bean method with generic return type
  • [SPR-17525] - ForwardedHeaderTransformer double encodes
  • [SPR-17527] - CachingMetadataReaderFactory does not release shared resource cache after context refresh
  • [SPR-17533] - Parameter resolution in SpringExtension is not thread-safe
  • [SPR-17534] - MethodParameter.findParameterIndex() is not thread-safe

Task

  • [SPR-17016] - Improve RouterFunctions reference documentation
  • [SPR-17445] - Doc: Class-level `@Transactional` doesn't demarcate transactions for public methods in parent class
  • [SPR-17446] - Some Spring Framework modules still reference groovy-all artifact
  • [SPR-17453] - Error in Lifecycle Callbacks section
  • [SPR-17458] - Documentation on @Async is confusing and biased to XML
  • [SPR-17469] - Improve visibility of GitHub wiki
  • [SPR-17514] - [Docs]: How to customize WebSocket server config with STOMP over WebSocket
  • [SPR-17536] - Misleading alias definition example in reference documentation, part 1.3.1
  • [SPR-17537] - Upgrade to JUnit 5.3.2

Improvement

  • [SPR-17232] - Custom web input exceptions in WebFlux
  • [SPR-17322] - Add RequestPredicate Visitor to WebFlux.fn
  • [SPR-17368] - Null response status in WebFilter after controller method
  • [SPR-17388] - Ability to customize Jaxb Marshaller in Jaxb2XmlEncoder
  • [SPR-17402] - Support list in IN clause in NamedParameterJdbcTemplate.batchUpdate
  • [SPR-17448] - StandardEvaluationContext does not support concurrent variable access
  • [SPR-17449] - Add abstract base classes for Encoder/Decoder
  • [SPR-17450] - Improve output from logging the map of request mappings
  • [SPR-17459] - MediaType.parseMediaTypes fails if the input contains a comma
  • [SPR-17473] - The onstatus method of webclient causes a memory leak.
  • [SPR-17475] - Use of Hooks.onOperatorDebug causes performance degradation on 404 errors
  • [SPR-17518] - Expose mapped handler as request attribute in spring-webmvc
  • [SPR-17522] - WebTestClient.BodySpec.isEmpty() returns false on byte[0]
  • [SPR-17523] - ReactorNettyTcpClient constructor with callback to initialize TcpClient
  • [SPR-17535] - ResourceUrlEncodingFilter versioning breaks when URL contains fragment

Edit/Copy Release Notes

The text area below allows the project release notes to be edited and copied to another document.