In order to avoid potential compatibility issues when Reactive Streams dependency is not in the classpath (it is not a mandatory dependency of spring-web), org.springframework.web.method.support.InvocableHandlerMethod#invokeSuspendingFunction (introduced by https://github.com/spring-projects/spring-framework/pull/27195) return value should be changed from Publisher<?> to Object. It should be binary compatible.