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

latest releases: v6.2.0-M2, v6.1.7, v6.0.20...
3 years ago

⭐ New Features

  • Implement reliable invocation order for advice within an @Aspect #25186
  • Performance enhancement in execution of ResponseEntity.of() #25183
  • Support for shared GroovyClassLoader in GroovyScriptFactory #25177
  • Suggest making a Set.size() > 0 judgement for AbstractApplicationContext.earlyApplicationEvents #25161
  • Make use of custom types configurable in YamlProcessor #25152
  • Avoid need for default constructor in ContextAnnotationAutowireCandidateResolver subclasses #25131
  • ConstructorResolver.resolveConstructorArguments() return value issue #25130
  • Introduce serializeToByteArray/deserializeFromByteArray convenience methods #25117
  • Custom HTTP Method on MockServerHttpRequest #25109
  • Missing null checks in AbstractMessageChannel.addInterceptor/setInterceptors #25088
  • Avoid full synchronization in AbstractRefreshableApplicationContext.getBeanFactory() since it can lead to massive thread blocking #25081
  • Simplify use of HttpContext in HttpComponentsClientHttpRequestFactory in support of user associated connections #25066
  • ResolvableType forClass fails when a type in the generic signature isn't present #25064
  • Include timeout unit in shutdown failure logging #25058
  • Drop unnecessary intermediate StringBuilder.toString() call in ServerSentEventHttpMessageReader #25024
  • Fix concurrency issues in XStreamMarshaller #25017
  • Introduce mechanism to discover whether a reactive type registered in ReactiveAdapterRegistry uses deferred computation #24995
  • Avoid logging exception for closed session in AbstractSockJsSession #24986
  • Include response body in RestTemplate exception when there is no suitable HttpMessageConverter #24964

🪲 Bug Fixes

  • ExchangeStrategies custom codec's reader & writer are not registered #25149
  • MultiValueMapAdapter.getFirst fails with IndexOutOfBoundsException in case of empty List #25140
  • WebSphereUowTransactionManager causes exception for PROPAGATION_SUPPORTS when timeout is specified #25132
  • Avoid ClassCastException on IllegalArgumentException when invoking sync get cache method #25110
  • DefaultServerRequestBuilder does not respect attributes when building the ServerRequest #25106
  • Fix race condition in WriteResultPublisher between subscription and error in publishError #25096
  • Jackson message converters and codecs do not respect character encoding in canRead/canWrite #25076
  • DefaultClientResponseBuilder empty logPrefix when creating a DefaultClientResponse based on another #25069
  • HttpHeaders equals may return false without comparing actual content #25034
  • Fix race condition in WriteResultPublisher between subscription and completion in publishComplete #24989

📔 Documentation

  • Javadoc for hibernate5 OpenSessionInViewFilter mentions FlushMode.NEVER #25158
  • Document that the Map backing a MapPropertySource should not contain null values #25142
  • Javadoc for JdbcOperations.batchUpdate should mention that negative values are possible #25138
  • Fix URI pattern example in webflux.adoc #25137
  • Document how reactive transactions work for cancellation in 5.2 and how it will work in 5.3 #25091
  • Document whether code can rely on specific subclasses of HttpClientErrorException/HttpServerErrorException being thrown from DefaultResponseErrorHandler #25067
  • Fix SpelEvaluationException with example code #25045
  • javadoc: remove a comment documented a limitation on @Lookup annotation #25044
  • Document all predefined variables from ApplicationContext available in SpEL expressions #25037
  • Document ReactiveTransactionManager support in reference manual #25036
  • Document ReactiveTransactionManager support #25030
  • Change to placeholder value in XML is not reevaluated at runtime #25022
  • Add missing @PathVariable declarations in examples in webmvc.adoc #25006

🔨 Dependency Upgrades

  • Upgrade to Reactor Dysprosium-SR8 #25210

❤️ 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.