Skip to content

v5.3.9

Compare
Choose a tag to compare
@spring-builds spring-builds released this 14 Jul 07:19
· 7299 commits to main since this release

⭐ New Features

  • Configure CommonsMultipartResolver to support specific HTTP methods #27161
  • Allow BeanDefinitionBuilder to set an instance supplier with a ResolvableType #27160
  • Reason of @ResponseStatus on handler method is not resolved by MessageSource #27156
  • ResourceHandlerRegistry#getHandlerMapping should initialize handler once in outer loop #27153
  • Set synthetic flag using BeanDefinitionBuilder #27141
  • BeanCreationException error message should always include declaring class of constructor (or factory method) #27139
  • Improve Jetty 10 check in JettyClientHttpResponse #27136
  • Jetty10RequestUpgradeStrategy use an old jetty 9 class HandshakeRFC6455 #27121
  • ClassNotFoundException using Jetty 10 and its reactive client #27112
  • Use StringBuilder.append(char) where possible #27098
  • Consider "wss" and "https" for secure flag in Forwarded header checks #27097
  • SynchronossPartHttpMessageReader should only create temp directory when needed #27092
  • Implement equals, hashCode, & toString in BeanMethod and *Metadata types #27076
  • Remove logging dependency in BeanUtils #27070
  • Exclude sealed interfaces from auto-proxying (for JDK 17 compatibility) #27027
  • Blockhound error when running with transaction with a TransactionOperator #26955
  • Configure StandardServletMultipartResolver to only support multipart/form-data #26826
  • Add a way to set executeExistingDelayedTasksAfterShutdown from ThreadPoolTaskScheduler #26719
  • Apply dynamic changes in ThreadPoolTaskExecutor before setting local value #26700

🪲 Bug Fixes

  • JettyHttpHandlerAdapter is not aware of Server[Request|Response]Wrapper #27146
  • {*path} pattern (CaptureTheRestPathElement) includes undocumented leading slash in @PathVariable path #27132
  • NoSuchMethodError when invoke JettyWebSocketSession.getRemoteAddress in jetty 10 #27120
  • CronExpression is still broken on spring-context-5.3.8 #27117
  • SimpleMethodMetadataReadingVisitor.Source.toString() omits separator for method arguments #27095
  • DefaultPathSegment allows shared empty parameters map to be mutated #27064
  • AOP auto-proxying with proxyTargetClass=true and introduction advice does not work for JDK proxy targets #27044
  • ServletRequestDataBinder assumes Standard servlet multipart handling #26999
  • DataClassRowMapper should not override Kotlin init properties #26569

📔 Documentation

  • Add Javadoc @since to BeanDefinitionBuilder.setSynthetic() #27155
  • Fix link to Javadoc API #27151
  • Added description for HandlerInterceptor #27122
  • Fix typo in core-beans.adoc #27113
  • Fix typo in BeanDefinitionDsl.kt #27105
  • Improve docs for getContentAsByteArray method of ContentCachingRequestWrapper #27068
  • Fix explanation on default settings for content negotiation in reference doc #27067
  • Document that any @Valid* annotation triggers validation in the reference manual #27050
  • Improve RequestPartMethodArgumentResolver Javadoc #27043
  • Improve RequestResponseBodyMethodProcessor Javadoc #27042
  • Clarify that baseName in ResourceBundleMessageSource does not support multiple locations #27038
  • Link alternate documentation formats #27015

🔨 Dependency Upgrades

  • Compatibility with HtmlUnit 2.51 #27147
  • Upgrade to ASM 9.2 (for early Java 18 support) #27069
  • Upgrade to Kotlin 1.5.21 #27110
  • Upgrade to Kotlin Coroutines 1.5.1 #27157
  • Upgrade to Mockk 1.11.0 #27109
  • Upgrade to Reactor 2020.0.9 #27158

❤️ Contributors

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