Release Notes - Spring Framework - Version 4.3.13 - HTML format

Bug

  • [SPR-16058] - WebAsyncManager concurrency issue with SseEmitter when client disconnect
  • [SPR-16072] - RequestMapping method returning Future with null result causes NullPointerException
  • [SPR-16075] - setArguments(null) on MethodInvoker no longer coerces null to Object[0]
  • [SPR-16082] - Checkbox/RadioButton incorrectly converts collections of enums with a custom converter
  • [SPR-16083] - @ModelAttribute binding defined globally for particular attribute rather than per method invocation
  • [SPR-16102] - WebSphereUowTransactionManager swallows original exception when commit fails for another reason
  • [SPR-16103] - Incorrectly identify bridged method on interface
  • [SPR-16108] - DefaultResponseErrorHandler.hasError doesn't tolerate unknown status codes
  • [SPR-16117] - PathMatchingResourcePatternResolver returns duplicate resources when using classpath* prefix
  • [SPR-16122] - SpEL method invocation with varargs on proxy
  • [SPR-16132] - AbstractRequestExpectationManager fails with "Expectations already declared" when ResponseCreator.createResponse throws an exception
  • [SPR-16138] - MockHttpServletRequest with Host: set builds wrong getRequestURL()
  • [SPR-16146] - ClassPathResource.createRelative is using wrong ClassPathResource constructor for the returned resource
  • [SPR-16149] - Early ApplicationContext close call may lead to ApplicationEventMulticaster/LifecycleProcessor access exception
  • [SPR-16154] - When using NamedParameterJdbcTemplate, NVARCHAR or NCLOB(4000 characters or less) columns are not properly populated since StatementCreatorUtils does setString for these types instead of setNString.
  • [SPR-16160] - MockHttpServletResponse.getDateHeader fails with NPE for non-existing header
  • [SPR-16177] - NumberFormatException caused by property paths from JSR-303 based validation with no index into a collection
  • [SPR-16191] - Wrong byte code for compiled SpEL when JDK proxy method invocation is used

Improvement

  • [SPR-16089] - Prevent WebSocket buffer overflow through application-level flow control
  • [SPR-16090] - SchedulingConfigurer and JmsListenerConfigurer should respect @Order
  • [SPR-16095] - Avoid temporary String creation in StringUtils.starts/endsWithIgnoreCase
  • [SPR-16162] - Make JpaVendorAdapters JTA-aware (in particular for Hibernate 5.1/5.2)
  • [SPR-16165] - Reduce access on headers for STOMP messaging
  • [SPR-16170] - spring-jdbc : Improve memory allocations when substituting named parameters.

Task

  • [SPR-16074] - Doc: ControllerAdvice @ExceptionHandler matching for root vs cause in multi-advice scenario
  • [SPR-16076] - Improve documentation of lite configuration mode
  • [SPR-16078] - Clarify Bean destroyMethod documentation
  • [SPR-16092] - Doc: @Async in an Interceptor postHandle() doesn't work
  • [SPR-16107] - Compatibility with OpenPDF as alternative to iText 2.1.7
  • [SPR-16111] - Incorrect SpEL example in reference documentation
  • [SPR-16142] - Field name is used to match on bean name when @Autowired matches several beans by type
  • [SPR-16173] - Explicitly document UriTemplate as thread-safe
  • [SPR-16185] - End of first-class JDK 6 support
  • [SPR-16213] - Document common use cases for @Order vs @Priority vs @DependsOn
  • [SPR-16219] - Deprecate Castor support

Edit/Copy Release Notes

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