Release Notes - Spring Framework - Version 4.3.4 - HTML format

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.