Release Notes - Spring Framework - Version 5.0.2 - HTML format

Sub-task

  • [SPR-15700] - Please add documentation and examples on reactive WebSockets
  • [SPR-16133] - Chained API for form and multipart data in BodyInserters
  • [SPR-16134] - Create builder for multipart bodies

Bug

  • [SPR-16022] - Avoid implicit autowiring with Kotlin secondary constructors
  • [SPR-16098] - Fix Reactive JsonView + HttpEntity handling
  • [SPR-16116] - BasicAuth interceptor does not accept empty username
  • [SPR-16117] - PathMatchingResourcePatternResolver returns duplicate resources when using classpath* prefix
  • [SPR-16119] - KotlinReflectionParameterNameDiscoverer does not handle instance-extension methods properly
  • [SPR-16122] - SpEL method invocation with varargs on proxy
  • [SPR-16124] - Cookies are not available from an ExchangeResult
  • [SPR-16127] - AbstractMessageSource does not support null as default message anymore
  • [SPR-16130] - Disable CORS credentials by default
  • [SPR-16131] - Multipart form data can no longer be sent with syncBody in WebTestClient
  • [SPR-16132] - AbstractRequestExpectationManager fails with "Expectations already declared" when ResponseCreator.createResponse throws an exception
  • [SPR-16137] - InterceptingHttpAccessor.setInterceptors should support immutable lists
  • [SPR-16138] - MockHttpServletRequest with Host: set builds wrong getRequestURL()
  • [SPR-16144] - AbstractDispatcherHandlerInitializer does not detect WebFilter beans
  • [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-16152] - Wildcard JPA packages are not scanned
  • [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-16158] - @RequestAttribute Mono<?> is not allowed for attributes that are of type Mono
  • [SPR-16160] - MockHttpServletResponse.getDateHeader fails with NPE for non-existing header
  • [SPR-16161] - bean(nameOfBean) doesn't work with Spring Framework 5.0.1 on AspectJ 1.8.12
  • [SPR-16163] - CastClass exception (NullBean instead of 'null' value) when getting map of beans directly from ApplicationContext
  • [SPR-16164] - Printing of session with null attributes results in NullPointerException
  • [SPR-16172] - AbstractMessageConverterMethodProcessor ignores HttpEntityMethodProcessor's Content-Type header
  • [SPR-16177] - NumberFormatException caused by property paths from JSR-303 based validation with no index into a collection
  • [SPR-16178] - NullPointer in DefaultRequestBodyUriSpec.cookies method
  • [SPR-16180] - spring webflux: stack overflow when response data is greater then 16MB
  • [SPR-16187] - NPE in ErrorsMethodArgumentResolver
  • [SPR-16191] - Wrong byte code for compiled SpEL when JDK proxy method invocation is used
  • [SPR-16201] - InMemoryWebSession.changeSessionId reports error if the session does not exist
  • [SPR-16225] - Nullability inconsistency in DataAccessUtils requiredSingleResult vs requiredUniqueResult
  • [SPR-16226] - commons-logging LogFactory and String arguments

Improvement

  • [SPR-15982] - Provide read access to the scheduled tasks at runtime
  • [SPR-16109] - STOMP SEND should not map to @SubscribeMapping methods
  • [SPR-16112] - Spring context indexer does not work with nested classes
  • [SPR-16118] - Sending form and multipart data with WebTestClient
  • [SPR-16120] - PathContainer-based implementation of extractPathWithinPattern
  • [SPR-16121] - Allow to set cookies via WebFlux functional handlers
  • [SPR-16129] - Add StatusAssertions.isForbidden
  • [SPR-16140] - ResourceLoader with local "file:foo/bar/file.file" reference does not return WritableResource
  • [SPR-16145] - Improve ReactorNettyTcpClient shutdown logic
  • [SPR-16155] - Support prefix-based Servlet path mapping in ServletHttpHandlerAdapter
  • [SPR-16162] - Make JpaVendorAdapters JTA-aware (in particular for Hibernate 5.1/5.2)
  • [SPR-16165] - Reduce access on headers for STOMP messaging
  • [SPR-16168] - WebTestClient supports custom TLS certificate verification
  • [SPR-16170] - spring-jdbc : Improve memory allocations when substituting named parameters.
  • [SPR-16215] - SqlParameterSourceUtils.createBatch with Collection support
  • [SPR-16224] - Set Vary: Origin on CORS unauthorized response
  • [SPR-16229] - Add missing RestOperations extensions

New Feature

  • [SPR-15964] - WebFlux Should Communicate X509 Authentication

Refactoring

  • [SPR-16192] - Consistent and efficient access to BeanDefinition argument values
  • [SPR-16207] - Review Publisher adapters for reading and writing

Task

  • [SPR-16080] - Upgrade to Gradle 4.3(.1)
  • [SPR-16111] - Incorrect SpEL example in reference documentation
  • [SPR-16139] - Doc: ParameterMetaData.getParameterType performance on Oracle 12c
  • [SPR-16142] - Field name is used to match on bean name when @Autowired matches several beans by type
  • [SPR-16156] - Document DataBuffer/PooledDataBuffer and Encoder/Decoder
  • [SPR-16157] - Upgrade to Mockito 2.11
  • [SPR-16173] - Explicitly document UriTemplate as thread-safe
  • [SPR-16194] - Upgrade to Kotlin 1.1.61
  • [SPR-16197] - [doc] WebClient's javadocs are invalid
  • [SPR-16199] - Add WebFlux CORS reference documentation
  • [SPR-16200] - Docs for ClientResponse object are misleading
  • [SPR-16206] - Upgrade to Reactor Bismuth-SR4
  • [SPR-16213] - Document common use cases for @Order vs @Priority vs @DependsOn
  • [SPR-16219] - Deprecate Castor support
  • [SPR-16230] - Bug in Bean Scopes Documentation

Edit/Copy Release Notes

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