github spring-projects/spring-framework v5.2.3.RELEASE

latest releases: v6.2.0, v6.1.15, v6.2.0-RC3...
4 years ago

⭐ New Features

  • Update throwable to SQLException #24337
  • Update CORS support #24327
  • Improve exception message in AopContext.currentProxy() #24321
  • Trim line in LineInfo only once #24310
  • Merge getCallableInterceptors and getDeferredResultInterceptors #24305
  • Optimize SimpleAliasRegistry hasAlias implementation #24295
  • Improve ExposeInvocationInterceptor exception message #24293
  • Add ContentLength support for InputStreamResource created in ResourceHttpMessageConverter and ResourceDecoder #24292
  • StringHttpMessageConverter addDefaultHeaders() should check media type for wildcard before setting it into headers #24283
  • Add fast path for ClassUtils.hasMethod #24282
  • Support headers with multiple values in ResponseStatusException #24261
  • Remove quality parameter from chosen media type in WebFlux responses #24239
  • Remove Content-* response headers before error handling in WebFlux #24238
  • Reuse InputStream for ResourceRegionHttpMessageConverter #24214
  • Un-deprecate PathResource (for java.nio.file.Path resolution in createRelative) #24211
  • Simplify AdvisedSupport.removeAdvisor() #24205
  • Add BeanPropertyRowMapper.newInstance(mappedClass, conversionService) #24195
  • Short-circuit in AbstractBeanDefinition.equals() #24185
  • Expose local address in reactive ServerHttpRequest #24174
  • Improve exception message for mixed explicit and implicit aliases with @AliasFor #24168
  • Hoist constant result of SerializableTypeWrapper.unwrap() out of loop #24167
  • Add "application/*+xml" as supported media type to XML decoders #24164
  • Hoist Class.getName() from String concatenation to dodge an issue related to profile pollution #24153
  • Let UriUtils.encode…(…) methods optimize for sources without the need to be encoded #24152
  • Add accessor for logPrefix in ClientResponse to allow tying a ClientRequest to a ClientResponse #24146
  • Support variable resolution of wildcard types #24145
  • WebTestClientExtensions.expectBody doesn't work for generic types #24142
  • Add firstElement to CollectionUtils #24135
  • Improve configuration API of ClientCodecConfigurer.CustomCodecs #24124
  • Introduce BeanNameGenerator based on fully qualified class name #24114
  • ContentDisposition cannot parse encoded filename with leading space #24112
  • Add option to encode MultiValueMap of query params #24043
  • AbstractMessageConverterMethodProcessor results in 406 with "Accept: /" when @RequestMapping produces condition determined the content type #23287
  • Allow testing with any value for Content-Type and Accept header in MockHttpServletRequestBuilder #2079

🪲 Bug Fixes

  • StringDecoder buffer leak related to maxInMemorySize limit #24339
  • Cloning a WebClient.Builder instance does not copy strategiesConfigurers #24329
  • SimpleKey contains invalid hashcode on deserialization when parameters include an enum #24320
  • ServerSentEventHttpMessageReader does not respect maxInMemorySize and is always limited to 256k messages #24312
  • Unsafe double-checked locking in SpelExpression#compileExpression #24265
  • Ensure CORS processing does not add Vary header twice on async requests #24223
  • Escape quotes in filename in ContentDisposition.Builder when charset not specified #24220
  • ClassUtils.getInterfaceMethodIfPossible overhead in cached methods for SpEL key/condition expressions #24206
  • ClientCodecConfigurer drops MultipartHttpMessageWriter.partWriters when mutated #24194
  • Regression: annotation searches no longer handle exceptions #24188
  • WebFlux may send incomplete response if the session persistence fails #24186
  • Fix RSocketRequester Coroutines extensions #24166
  • Regression: prototype @ControllerAdvice beans should not be cached #24157
  • Ensure MvcUriComponentsBuilder generates correct URL from type-level mapping without leading slash #24143
  • Annotation scanning in enclosing class hierarchy results in NoClassDefFound #24136
  • ReadCancellationException does not play well with onErrorContinue #24125
  • StringHttpMessageConverter lost a fix that assumed charset UTF-8 for "application/json" #24123
  • Regression: default values for implicit aliases no longer honored in MergedAnnotations #24110
  • Functional Bean Definition DSL for noarg functions #23395

📔 Documentation

  • Docs should warn against split URL handling across handler mappings #24304
  • [spring expression doc] symbolic logical operators #24276
  • Fix example in RSocket docs #24245
  • MappingJackson2MessageConverter: fix javadoc typo #24200
  • Fix typos in DataBufferUtils Javadocs #24160
  • TOC generated by asciidoc for core-beans.adoc is truncated #24132
  • WebFlux documentation states incorrectly that BindingResult is supported after @RequestBody #22997

🔨 Dependency Upgrades

  • Upgrade to Reactor Dysprosium SR3 #24349
  • Upgrade to Gradle build scan plugin 3.1.1 #24252
  • Upgrade to nohttp plugin 0.0.4.RELEASE #24251

❤️ Contributors

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

Don't miss a new spring-framework release

NewReleases is sending notifications on new releases.