Skip to content
Pre-release

@snicoll snicoll released this Aug 5, 2019 · 130 commits to master since this release

⭐️ New Features

  • Deprecate mutable aspects of MethodParameter #23385
  • Add status code 425 ("Too Early") to HttpStatus enum #23384
  • Search for annotations on enclosing classes with MergedAnnotations API #23378
  • RSocketRequester.Builder support for ConnectionSetupPayload #23368
  • Introduce SimpleUrlHandlerMapping constructor that accepts an order and a Map #23362
  • Introduce interface cache for proxied EntityManager and Query types #23345
  • Provide functionality similar to Spring Boot's BeanTypeRegistry #23341
  • Add attribute support for FactoryBean bean definitions #23339
  • Consider generics when predicting FactoryBean types #23338
  • Cache isFactoryBean detection #23337
  • Retain merged bean definition caches during post processing #23336
  • Add missing ResolvableType variants of getBeanNamesForType #23335
  • Add multi-prefix comment support for @SqlConfig #23331
  • Support @TestPropertySource as a repeatable annotation #23320
  • Add DataBuffer::toString(Charset) #23317
  • Improvements to RSocketStrategies #23314
  • Support for template routes with encoded separator in RSocketRequester #23310
  • Treat null path as non-matching pattern in AntPathMatcher #23297
  • Add multi-prefix comment support for SQL scripts #23289
  • Add a ScriptEngine factory to ScriptTemplateConfigurer #23258
  • Log at WARN level in case of contradicting PersistenceUnitManager setup #23257
  • ExchangeFilterFunctions.basicAuthentication(String, String) should cache the encoded credentials #23256
  • Introduce TransactionOperations.execute(Runnable) convenience method #23250
  • ExceptionHandlerExceptionResolver warns when re-throwing the exception cause #23233
  • Change @TestConstructor.autowire attribute into an enum #23224
  • Improve performance of FormContentFilter #23216
  • MimeTypeUtils.parseMimeType returns null MIME type in case of high concurrency #23211
  • Add explicit support for multipart/mixed in FormHttpMessageConverter #23209
  • AbstractMessageConverterMethodProcessor results in 406 even when ResponseEntity presets content type #23205
  • BasicAuthenticationInterceptor should cache the encoded credentials #23204
  • Introduce addSupportedMediaTypes() in FormHttpMessageConverter #23203
  • Add no-op TransactionOperations implementation #23198
  • @CacheEvict beforeInvocation with transaction does not work #23192
  • Presort beans in ControllerAdviceBean.findAnnotatedBeans() #23188
  • Consider generics on ApplicationListener @Bean methods #23178
  • ConnectionMapping annotation for handling of RSocket connection-level frames #23177
  • Support for registering handlers in RSocketRequester.Builder #23170
  • Leverage new Kotlin script templating support #23165
  • Improve RSocketRequester.ResponseSpec Kotlin extensions #23164
  • Support Ordered interface for @ControllerAdvice beans #23163
  • Support multipart/related and multipart/mixed MediaTypes in RestTemplate #23159
  • RSocket Metadata Mimetype "text/plain" and "application/json" support #23157
  • onStatus throws away default status handler #23155
  • Forbid null HttpMessageConverter in RestTemplate and HttpMessageConverterExtractor #23151
  • Support target type in MockMvcResultMatchers.jsonPath() #23141
  • UrlBasedViewResolvers should not override custom requestContextAttribute with null #23129
  • Add queryParams and replaceQueryParams with Collection to UriBuilder #23119
  • Provide functionality similar to Spring Boot's BeanTypeRegistry #23056
  • Expose default error handling from RequestHeadersSpec::retrieve for use with RequestHeadersSpec::exchange #22825
  • Use the accepted profiles on the BeanDefinitionDsl #22393
  • Consider conditional view caching #22391
  • WebClient's ResponseSpec should provide access to response headers #22368
  • Support for non-blocking event listener methods [SPR-17298] #21831
  • Merge class-level and method-level @Sql declarations #1835

🐞 Bug Fixes

  • @TransactionalEventListener should not receive an event if no transaction is active #23276
  • MockMvc no longer handles UTF-8 characters #23219
  • NullPointerException when FormContentFilter handles a request with no content type #23215
  • RSocketRequester.ResponseSpec Kotlin extensions issue #23185
  • PathPattern::extractPathWithinPattern does not use custom separator #23168
  • PathPatternRouteMatcher should parse routes with custom separator #23167
  • DefaultMultipartMessageReader.FilePartPart.content not available under Reactor Netty #23131
  • DefaultMultipartMessageReader.FilePart.transferTo fails occasionally #23130

📔 Documentation

  • Fix grammar in package-info.java #23401
  • Add since tag for ClientResponse.Builder.request() #23364
  • Fix typo in data-access.adoc #23247
  • Fix typo in CONTRIBUTING.md #23180
  • Document supported @Transactional attributes in the TestContext framework #23149
  • Document WebFlux FreeMarker macro support in Reference Manual #23133
  • Add since for JettyClientHttpConnector change #23128
  • Improve Kotlin integration testing documentation #22875

🔨 Dependency Upgrades

  • Upgrade to RSocket 1.0.0-RC2 #23359
  • Upgrade to ASM 7.2 #23156
  • Upgrade to JUnit Jupiter 5.5 #23076

❤️ Contributors

We'd like to thank all the contributors who worked on this release!

Assets 2
You can’t perform that action at this time.