Release Notes - Spring Framework - Version 4.3.8 - HTML format


  • [SPR-15332] - PathMatchingResourcePatternResolver fails to work under Tomcat 8.0.41 with unpackWARs=false
  • [SPR-15372] - VersionResourceResolver does not delegate path resolution to the chain
  • [SPR-15377] - NullPointerException can happen in HttpRequestMethodNotSupportedException.getSupportedHttpMethods()
  • [SPR-15409] - SettableListenableFuture setException is inconsistent with callbacks under race
  • [SPR-15411] - UrlResource getFilename should not contain query parameters
  • [SPR-15422] - ForwardedHeaderFilter.ForwardedHeaderRequestWrapper does not preserve encoding of requestURI
  • [SPR-15423] - ForwardedHeaderRequestWrapper should return a new StringBuffer instance on each invocation of the getRequestURL method
  • [SPR-15428] - ForwardedHeaderFilter.ForwardedHeaderRequestWrapper does not preserve ;
  • [SPR-15433] - UnknownHostException not accepted as "resource not found" anymore
  • [SPR-15442] - AbstractRecursiveAnnotationVisitor can't access a package protected enum value
  • [SPR-15445] - When setting spring.freemarker.template-loader-path to an s3 bucket, the SpringTemplateLoader is not selected
  • [SPR-15452] - ApplicationListener potentially invoked twice in circular reference with proxy


  • [SPR-15147] - Upgrade to CGLIB 3.2.5
  • [SPR-15266] - Doc: Consistent @Profile declarations on overloaded @Bean methods
  • [SPR-15317] - Up-to-date guidelines for serialization-based endpoints
  • [SPR-15324] - Improve Javadoc on configuring exception resolvers via WebMvcConfigurer
  • [SPR-15354] - Clarification: Spring AOP pointcuts match protected methods when CGLIB is used
  • [SPR-15363] - Drop DeferredQueryInvocationHandler.finalize()
  • [SPR-15429] - Undeprecate TypeVariableMap methods on GenericTypeResolver
  • [SPR-15432] - [doc] Update @ControllerAdvice Javadoc to discuss ordering
  • [SPR-15436] - Revisit CGLIB AOP proxy warnings for final methods
  • [SPR-15448] - SpEL examples in chapter "Cache Abstraction"
  • [SPR-15449] - Cache Abstraction: Improve unless condition with optional


  • [SPR-15227] - Avoid re-retrieval of @ResponseStatus annotation for each request
  • [SPR-15257] - StandardMultipartFile.transferTo should fall back to manual copy if Part.write doesn't support absolute locations (e.g. on Jetty)
  • [SPR-15300] - Session-scoped bean should have its state propagated to the HttpSession at the end of its initial request (even without further access)
  • [SPR-15307] - sockjs heartbeat failure logged at ERROR level
  • [SPR-15316] - Support for @Lookup methods within @Configuration classes
  • [SPR-15319] - Support for HtmlUnit 2.25+
  • [SPR-15322] - JRubyScriptFactory compatibility with JRuby 9.1.7+
  • [SPR-15329] - DefaultResponseErrorHandler should have its methods protected
  • [SPR-15333] - GenericCallMetaDataProvider should not treat 'NULLABLE' column as boolean (for compatibility with latest Postgres driver)
  • [SPR-15375] - Make it easier to see the HTTP headers when debugging MockMvc-based tests
  • [SPR-15382] - Spring JDBC not correctly processing Postgresql ?| and ?& operator
  • [SPR-15387] - Minimize reflective interaction with annotation instances during retrieval
  • [SPR-15426] - Revise AcceptHeaderLocaleResolver default locale handling
  • [SPR-15430] - Improve performance of StringUtils.replace() if pattern is not found
  • [SPR-15439] - Add constructor to ShadowingClassLoader to create an instance without default excludes
  • [SPR-15450] - Make SessionLocaleResolver's attribute name configurable

Edit/Copy Release Notes

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