Bug
- [SPR-14304] - ObjectToObjectConverter should be able to use constructors on non-public classes
- [SPR-14324] - Async advisor retrieval blocks when triggered by singleton init method
- [SPR-14749] - DefaultPersistenceUnitManager may configure a persistence unit root URL that does not point to a file or directory
- [SPR-14761] - IPv6 + Origin header + X-Forwarded-Host header gives NumberFormatException (Safari10 / CORS)
- [SPR-14767] - ETag header is removed from PUT/POST/PATCH responses
- [SPR-14778] - SpringValidatorAdapter's ResolvableAttribute is not serializable
- [SPR-14781] - @CacheConfig(cacheNames) broken when used on interface
- [SPR-14792] - Access-Control-Allow-Methods contains duplicate HTTP methods
- [SPR-14796] - ModelAndView's setStatus does not work for @ExceptionHandler methods
- [SPR-14801] - Cache annotation lookup in 4.3 finds more annotations than in 4.2
- [SPR-14833] - SockJs heartbeat causes deadlock with XHR polling
- [SPR-14846] - SimpleApplicationEventMulticaster should not generally suppress ClassCastException
- [SPR-14848] - LiveBeansView#unregister should not rely on ApplicationContext#getApplicationName
- [SPR-14850] - NPE PropertyOrFieldReference$AccessorLValue due to concurrency issue
- [SPR-14851] - ResourceHttpRequestHandler no longer works as prototype bean
- [SPR-14853] - Allow @Cacheable method to return java.util.Optional variant of cached value with @Cacheable(sync=true)
- [SPR-14863] - SpEL: Compiled OpNE should favor equals() to !=
- [SPR-14872] - NoSuchMethodError when using AnnotatedElementAdapter with Java 7
Task
- [SPR-14765] - @lookup method injection method documentation
- [SPR-14782] - Bad Table Rendering in Default Exception Handling Documentation
- [SPR-14793] - EnableAsync javadoc not clear enough
- [SPR-14797] - Documentation for InjectionPoint argument on @Bean method
- [SPR-14812] - Documentation on @EventListener SpEL features is not very clear
- [SPR-14842] - The contract for StringValueResolver.resolveStringValue should be more explicit
- [SPR-14881] - Document supported return types for @Async methods
Improvement
- [SPR-8282] - BindingResult should not hold on to ConversionService when serialized in session
- [SPR-10502] - context:property-placeholder should accept comma-separated list as placeholder value for its location attribute
- [SPR-14277] - Allow customization of TestDispatcherServlet when using @MockMvcTest
- [SPR-14583] - Method getMergedProperties in ReloadableResourceBundleMessageSource does not set fileTimestamp
- [SPR-14737] - YAML + PropertyPlaceholderConfigurer needs to process non-String values as well
- [SPR-14739] - Default async timeout handling results in Logged Exception for Tomcat 8.5.x
- [SPR-14744] - Netty4ClientHttpRequestFactory should configure a default SslContext
- [SPR-14747] - Improve performance of StompEncoder.encode()
- [SPR-14760] - Reduce String allocations in TransactionAspectSupport.methodIdentification()
- [SPR-14783] - Inner bean behind BeanFactoryPostProcessor should be able to receive application events
- [SPR-14791] - StompSubProtocolHandler makes the same assumption about header accessor as SimpleBrokerMessageHandler used to
- [SPR-14798] - Better encapsulate and Javadoc CORS configuration defaults
- [SPR-14799] - IllegalArgumentException: HttpEntity parameter 'null'
- [SPR-14815] - Hibernate 5 LocalSessionFactoryBean should allow for dynamic mapping registration (like for Hibernate 4)
- [SPR-14816] - Allow type produced by ScopedProxyFactoryBean to be determined before singleton is created
- [SPR-14822] - GenericConversionService.addConverter should be able to determine generic types from target class behind proxy
- [SPR-14826] - ResolvableType equals method should not consider TypeProvider source
- [SPR-14831] - Type information not available on NoSuchBeanDefinitionException for collections
- [SPR-14844] - AnnotationFormatterFactory should support @AliasFor
- [SPR-14845] - Make HttpComponentsAsyncClientHttpRequest abortable
- [SPR-14847] - TransactionStatus.flush() should trigger TransactionSynchronization.flush() when using DataSourceTransactionManager
- [SPR-14856] - Possibility to use org.springframework.cache.support.NoOpCacheManager.NoOpCache as public class as NoOpCacheManager
- [SPR-14861] - Log exception from @ExceptionHandler at higher level than debug
- [SPR-14862] - Use String.intern() for Annotation and Class scanning
- [SPR-14867] - Sockjs XHR Fallback on already existing WebSocketServerSockJsSession
- [SPR-14879] - ApplicationListenerDetector should ignore non-managed bean instances
- [SPR-14883] - Improve exception when failing to create a specific bean due to a NoClassDefFoundError
Edit/Copy Release Notes
The text area below allows the project release notes to be edited and copied to another document.