Release Notes - Spring Framework - Version 4.2.2 - HTML format

Bug

  • [SPR-12503] - Registering two beans at the same time throws ConcurrentModificationException
  • [SPR-13123] - ConcurrentModificationException in DefaultListableBeanFactory.doGetBeanNamesForType()
  • [SPR-13213] - ConcurrentModificationException when doing a merge on AbstractEnvironment
  • [SPR-13416] - StompDecoder fails for partial headers containing escape sequence
  • [SPR-13417] - Regression: @RequestBody(required = false) not respected
  • [SPR-13420] - ServletWebRequest.checkNotModified attempts to call HttpServletResponse.getHeader(String) on Servlet 2.5
  • [SPR-13421] - ConcurrentModificationException in SingleConnectionFactory$AggregatedExceptionListener
  • [SPR-13445] - ScriptTemplateView should close the template InputStream
  • [SPR-13447] - MessagingException should not provide empty description String to NestedRuntimeException
  • [SPR-13451] - DeferredResult not thread-safe for isSetOrExpired call
  • [SPR-13455] - Regression: UrlPathHelper.getLookupPathForRequest(…) returns different results for URIs containing matrix parameters
  • [SPR-13458] - ConcurrentMapCache.putIfAbsent doesn't support null values
  • [SPR-13474] - AbstractEmbeddedDatabaseConfigurer.shutdown does not close JDBC resources
  • [SPR-13492] - Potential double invocation of getMissingCache in AbstractCacheManager
  • [SPR-13493] - ConcurrentModificationException when executing AutowireCapableBeanFactory.createBean
  • [SPR-13496] - ETag/If-None-Match logic in HttpEntityMethodProcessor should not affect methods other than HTTP GET
  • [SPR-13504] - YamlProcessor subclasses can no longer instantiate StrictMapAppenderConstructor
  • [SPR-13516] - ResourceHttpRequestHandler fails with IllegalArgumentException: No matching constant for [0]
  • [SPR-13524] - HtmlUnitRequestBuilder doesn't handle query parameters without equals sign
  • [SPR-13525] - Not valid processing of 'Origin' http header
  • [SPR-13526] - EventListenerMethodProcessor unconditionally instantiates certain beans, leading to BeanCreationException during deployment
  • [SPR-13529] - ClassNotFoundException: org.xnio.StreamConnection in Wildfly 10.0.0.CR2
  • [SPR-13538] - Spring incorrectly interprets a bean to be a spring eventlistener
  • [SPR-13540] - OutOfMemory Exception when publishing User Events
  • [SPR-13541] - MessageHeaders is declared immutable - but writeObject() removes any non-serializable fields
  • [SPR-13543] - PayloadApplicationEvent can't hit cache
  • [SPR-13545] - Null Pointer when receiving an invalid transport type during SockJS request
  • [SPR-13549] - Consistently detect spring-beans.dtd reference
  • [SPR-13551] - Modifications to UndertowXhrTransport for Undertow 1.3 introduce breaking changes
  • [SPR-13553] - JCacheCache doesn't recognize null values in other JVMs
  • [SPR-13555] - DefaultSubscriptionRegistry loses track of subscribers in its cache
  • [SPR-13556] - Close processing triggered by shutdown hook isn't thread safe
  • [SPR-13563] - Clarify whether HttpInputMessage.getBody() is allowed to return null

Task

  • [SPR-13431] - Outdated ContentNegotiatingViewResolver example in section 21.5.4
  • [SPR-13439] - Document that @ResponseStatus overrides redirect views
  • [SPR-13479] - Doc: Improve MockRestServiceServer Javadoc sample
  • [SPR-13513] - Documentation for Portlet MVC does not refer to Portlet 2.0 spec (JSR-286)
  • [SPR-13514] - Migrate remaining JUnit 3 based tests to JUnit 4
  • [SPR-13527] - Clarify javadoc of YamlPropertiesFactoryBean regarding comma-separated list property value
  • [SPR-13536] - JodaTimeFormattingTests.testBindDateTime fails in certain time zones
  • [SPR-13542] - PathResourceTests.lastModified() fails on Linux
  • [SPR-13552] - Dispel the myth that Spring MVC Test only works with JUnit
  • [SPR-13564] - Compatibility with Jetty 9.3.5

Improvement

  • [SPR-7794] - Add valueSeparator property to context:property-placeholder
  • [SPR-9456] - Better handling of illegal locale values in LocaleChangeInterceptor
  • [SPR-12745] - RequestResponseBodyMethodProcessor should turn IOException to HttpMessageNotReadableException
  • [SPR-13073] - Jackson2ObjectMapperFactoryBean.setAutoDetectGettersSetters(boolean) does not affect "is" getters
  • [SPR-13366] - Make UndertowXhrTransport compatible with Undertow 1.3
  • [SPR-13393] - Support for last-modified resolution in Tomcat's unpackwar=false mode
  • [SPR-13425] - ClasspathXmlApplicationContext cannot be closed twice
  • [SPR-13435] - Double slashes (optional Path variable) removed via MockHttpServletRequestBuilder
  • [SPR-13441] - Support @ResponseStatus as a merged composed annotation
  • [SPR-13443] - Read large data using InputStreamResource at ResourceHttpMessageConverter
  • [SPR-13446] - SseEmitter does not expose super constructor with timeout value
  • [SPR-13453] - Expose view url to render function in ScriptTemplateView
  • [SPR-13461] - Add 'null-value' attribute to <context:property-placeholder>
  • [SPR-13464] - Same origin stops working for WebSocket/SockJS once any origin is configured
  • [SPR-13468] - Support @CrossOrigin as a merged composed annotation
  • [SPR-13478] - Origins doesn't anticipate an Origin header with a path
  • [SPR-13487] - Consider Nashorn ScriptEngine instance scope in ScriptTemplateView
  • [SPR-13488] - Improve error reporting for template rendering in ScriptTemplateView
  • [SPR-13491] - Revise script engine retrieval for better error reporting
  • [SPR-13494] - Make UndertowRequestUpgradeStrategy compatible with Undertow 1.3
  • [SPR-13498] - SseEmitter should ignore calls to send after timeout
  • [SPR-13509] - Improve org.springframework.util.StopWatch
  • [SPR-13521] - Throw exception with meaningful message if JUnit 4.9+ not present
  • [SPR-13546] - Provide empty Model to @ExceptionHandler methods
  • [SPR-13557] - Improve error reporting in StandardScriptEvaluator
  • [SPR-13566] - Compatibility with GlassFish 4.1.1 / Tyrus 1.12
  • [SPR-13569] - Add support for configuring ObjectMapper's default typing using Jackson2ObjectMapperBuilder

Edit/Copy Release Notes

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