Release Notes - Spring Framework - Version 5.1 RC2 - HTML format


  • [SPR-17032] - Add sections on logging in WebFlux and Spring MVC docs


  • [SPR-16901] - Inconsistent handling of dependent lifecycle beans in DefaultLifecycleProcessor
  • [SPR-17093] - Classification of ClassCastExceptions doesn't work in JDK 11 (OpenJDK)
  • [SPR-17094] - WebTestClient ignores WebSessionManager bean
  • [SPR-17096] - Classpath scanning on inner classes fails against JDK 11 bytecode level
  • [SPR-17103] - LocalVariableTableParameterNameDiscoverer runs into UnsupportedOperationException in ClassVisitor.visitNestMemberExperimental()
  • [SPR-17114] - SchedulerAccessor needs to catch primary key violation on reschedule (due to Quartz race condition)
  • [SPR-17144] - ContextPathCompositeHandler returns 200 when no path found
  • [SPR-17146] - Annotations on generic superclass methods not found by AnnotationUtils
  • [SPR-17147] - CheckboxTag incorrectly processing hidden field through RequestDataValueProcessor
  • [SPR-17166] - @Scheduled task runs twice on bean with target-class scoped proxy (when injected)
  • [SPR-17168] - UriComponentsBuilder does not encode "$" properly
  • [SPR-17191] - SimpleAliasRegistry.hasAlias does not properly resolve multiple chained aliases

New Feature


  • [SPR-16363] - Add tests and doc for collections to Jaxb2XmlEncoder
  • [SPR-16388] - Upgrade to RxJava 2.2
  • [SPR-16993] - Update docs on RestTemplate to indicate it's superceded by WebClient
  • [SPR-17095] - Revise BeanFactory vs ApplicationContext section in reference docs
  • [SPR-17104] - Incorrect query param code fragment in Spring Framework Documentation
  • [SPR-17117] - Deprecate CommonJ scheduling support in favor of JSR-236 Concurrency Utilities
  • [SPR-17124] - Upgrade to Jetty reactive HTTP client 1.0.1
  • [SPR-17131] - InitializingBean/DisposableBean javadoc should not just refer to singletons
  • [SPR-17143] - Deprecate support classes for Sun's JDK HTTP server
  • [SPR-17167] - Incorrect CORS code fragment in Spring Framework Documentation
  • [SPR-17173] - Generate "Use" pages in aggregated Spring API documentation (Javadoc)
  • [SPR-17174] - Fix broken links and address warnings for JavaDoc
  • [SPR-17180] - Rewrite *1.10.8. PDF, Excel* paragraph in Spring Framework Documentation
  • [SPR-17182] - Removed Jackson view property "renderedAttributes" still mentioned in Spring Framework docs
  • [SPR-17189] - Mention asynchronous JPA bootstrapping in the reference documentation


  • [SPR-13281] - ResponseEntity factory method inferring FOUND / NOT_FOUND from Optional
  • [SPR-15404] - Exception hierarchy under HttpClientException and HttpServerException for the RestTemplate
  • [SPR-16362] - Check scheme in WebUtils#isSameOrigin
  • [SPR-16858] - Make it possible to disable Scheduled job via cron expression
  • [SPR-16933] - Avoid unnecessary synthesizable annotation processing
  • [SPR-16963] - Make it easier to tidy up the resources used by a WebClient
  • [SPR-16989] - Add ExchangeFilterFunction that enforces limit on the response size
  • [SPR-17006] - Relax explicit TestContextBootstrapper resolution
  • [SPR-17067] - Support a custom CorsConfigurationSource
  • [SPR-17072] - CookieWebSessionIdResolver doesn't recognise https scheme when used with ForwardedHeaderFilter
  • [SPR-17074] - Minor performance improvements for 5.1
  • [SPR-17090] - Improve/unify debug logging at BeanDefinitionReader and BeanFactory level
  • [SPR-17091] - Override JsonPathAssertions "equals" method to fail always
  • [SPR-17105] - Initialize pre-filled HashMaps with large enough capacity (e.g. in HttpMethod)
  • [SPR-17109] - MockHttpSession doesn't publish session binding event for replaced attributes
  • [SPR-17110] - Add support for adding cookies as headers in MockHttpServletResponse
  • [SPR-17115] - SharedEntityManagerCreator should support deferred access to StoredProcedureQuery output parameters
  • [SPR-17118] - DataBufferUtils#takeUntilByteCount checks one extra buffer but does not release it
  • [SPR-17120] - ScriptUtils.containsSqlScriptDelimiters does not take into account escaped quotes
  • [SPR-17126] - BeanDefinition-aware BeanPostProcessors should clear cache in case of bean definition reset
  • [SPR-17136] - Detect GraalVM with system property in SerializableTypeWrapper
  • [SPR-17140] - limitExceeded is never reset in ConcurrentWebSocketSessionDecorator
  • [SPR-17141] - BindingAwareConcurrentModel should properly react to null value
  • [SPR-17142] - More easily set the order on DefaultSimpUserRegistry
  • [SPR-17145] - Exception hierarchy under WebClientResponseException for the WebClient
  • [SPR-17151] - BeanFactoryUtils.transformedBeanName() creates a lot of GC pressure
  • [SPR-17163] - Use default methods on Smart/GenericApplicationListener
  • [SPR-17169] - ClassUtils optimization for less expensive static initialization
  • [SPR-17171] - Avoid argument resolution overhead for no-arg factory methods
  • [SPR-17178] - Consistent warn logging for handled exceptions
  • [SPR-17179] - Add JettyResourceFactory
  • [SPR-17181] - SimpleClientHttpResponse.close() does not call close() on URLConnection.getInputStream() if SimpleClientHttpResponse.getBody() was not called before
  • [SPR-17188] - SmartLifecycle should provide default methods


  • [SPR-15535] - AbstractHandlerMethodMapping should allow for customized bean retrieval
  • [SPR-17099] - Improve guidance on basic auth in WebFlux and refine approach to deprecations
  • [SPR-17116] - Turn SchedulingTaskExecutor into marker interface with default prefersShortLivedTasks implementation
  • [SPR-17123] - Consistent nullability for StringUtils array/collection input parameters

Edit/Copy Release Notes

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