Release Notes - Spring Framework - Version 5.0.4 - HTML format

Sub-task

  • [SPR-16482] - Document how to test WebClient code with a mock server

Bug

  • [SPR-16337] - StringDecoder shouldn't chop off strings randomly
  • [SPR-16409] - SubProtocolWebSocketHandler should not log ERROR on "No messages received after ..."
  • [SPR-16414] - ServletServerHttpRequest.getURI() may throw a java.net.URISyntaxException
  • [SPR-16415] - AbstractClientSockJsSession.close call does not propagate IOException from disconnect
  • [SPR-16427] - Spurious WARNINGs when XML declared TransactionProxyFactoryBean's target bean depends on an annotation declared bean that depends on another bean
  • [SPR-16434] - ServerHttpRequest.mutate does not preserve encoded chars if path modified
  • [SPR-16435] - Lambda error detection might not work on JDK 9
  • [SPR-16449] - Cannot create BindStatus for valid field on immutable form object in case of bind errors
  • [SPR-16450] - CachingConnectionFactory - Invalid session in session cache
  • [SPR-16453] - MockMvcRequestBuilder does not decode pathInfo
  • [SPR-16454] - MockHttpServletRequest.addHeader fails for invalid LanguageRange in Accept-Language
  • [SPR-16456] - Resolvable type cannot resolve generic between different collection types
  • [SPR-16458] - MimeType compareTo implementation is not compatible with equals
  • [SPR-16461] - GSON converter only serialises fields of controller method return type, ignoring subclass fields of response object
  • [SPR-16472] - NamedParameterUtils.isParameterSeparator throws ArrayIndexOutOfBoundsException for non ASCII characters
  • [SPR-16478] - SimpleJdbcCall can't access synonyms in Oracle database
  • [SPR-16479] - Set thread interrupt flag on InterruptedException
  • [SPR-16486] - JsonMappingException when trying to instantiate org.springframework.messaging.Message
  • [SPR-16495] - NPE in Spring-JDBC with Oracle and SimpleJdbcInsert
  • [SPR-16496] - ExceptionHandlerExceptionResolver advice applicability check may fail against interface-based controller proxy
  • [SPR-16498] - FormTag renders empty <div> tag
  • [SPR-16500] - Invalid/missing locale strings in header prevents resolving the locale
  • [SPR-16506] - ForwardedHeaderFilter garbles query params during sendRedirect()
  • [SPR-16507] - With two-way-ssl exchange.getRequest().getSslInfo() always null
  • [SPR-16508] - NPE in AnnotationAwareOrderComparator.getPriority
  • [SPR-16514] - Performance degradation for creating non-singleton bean

Task

  • [SPR-14753] - Spring MVC and AOP: @EnableAspectJAutoProxy needs to be redeclared for each application context
  • [SPR-15801] - Doc: Spring AOP dependency on aspectjweaver
  • [SPR-15986] - Doc: ReloadableResourceBundleMessageSource's setUseCodeAsDefaultMessage causes the ValidationMessages.properties to not be found and used correctly
  • [SPR-16053] - Document that @Bean nullable parameters imply optional injection of the bean
  • [SPR-16393] - [docs]: Add WebFlux content on view technology
  • [SPR-16419] - Update Javadoc on RestTemplate#setUriTemplateHandler
  • [SPR-16420] - Update priority for ServerResponseResultHandler
  • [SPR-16422] - [docs] Explain URI template encoding
  • [SPR-16423] - [docs] Add WebFlux content on URI links
  • [SPR-16426] - Deprecate outdated HibernateTemplate operations in favor of lambdas
  • [SPR-16428] - Doc: hibernate.dialect_resolvers vs HibernateJpaVendorAdapter.setDatabase
  • [SPR-16444] - Allow "release on close" for DataBuffer.asInputStream
  • [SPR-16447] - Update and improve script templating documentation
  • [SPR-16463] - Doc: @Transactional.isolation does not guarantee the specified isolation level
  • [SPR-16487] - Doc: AbstractMessageListenerContainer rejecting messages on shutdown causes message loss in AUTO_ACK mode

Improvement

  • [SPR-15083] - Improve WebFlux exception logging
  • [SPR-15455] - ScheduledAnnotationBeanPostProcessor does not support Duration syntax
  • [SPR-16151] - Support Smile streaming in WebFlux
  • [SPR-16188] - StringToLocaleConverter should allow BCP 47 values
  • [SPR-16372] - The FieldError class does not provide access to the exception that triggered the binding error.
  • [SPR-16413] - Add Vary: Access-Control-Request-Method/Headers CORS headers
  • [SPR-16416] - `DelegatingServletInputStream#available` always returns 0
  • [SPR-16430] - MockMvc error handling with CompletableFuture regression in 5.0.1+
  • [SPR-16431] - ViewResolverRegistry in WebFlux is missing a scriptTemplate option
  • [SPR-16437] - Missing java.time.Year Formatter
  • [SPR-16439] - Quartz Scheduler - configurable SchedulerFactory
  • [SPR-16455] - Avoid String concatenation for not-null assertion in BeanProperty/DirectFieldBindingResult
  • [SPR-16457] - AcceptHeaderLocaleResolver should match country locales against supported language locales
  • [SPR-16483] - Supports ConversionService on SingleColumnRowMapper
  • [SPR-16484] - WebClient | onErrorResume logs exception although it has been handled
  • [SPR-16497] - Avoid multiple warnings related to jackson-module-kotlin in Jackson2ObjectMapperBuilder

Edit/Copy Release Notes

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