After upgrading to SB 3.5.0, and using org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.8 (latest), a method rename is causing method not found at start-up:

***************************
APPLICATION FAILED TO START
***************************

Description:

An attempt was made to call a method that does not exist. The attempt was made from the following location:

    org.springdoc.core.providers.HateoasHalProvider.isHalEnabled(HateoasHalProvider.java:81)

The following method did not exist:

    'boolean org.springframework.boot.autoconfigure.hateoas.HateoasProperties.getUseHalAsDefaultJsonMediaType()'

The calling method's class, org.springdoc.core.providers.HateoasHalProvider, was loaded from the following location:

    jar:file:/Users/silviu.burcea/.m2/repository/org/springdoc/springdoc-openapi-starter-common/2.8.8/springdoc-openapi-starter-common-2.8.8.jar!/org/springdoc/core/providers/HateoasHalProvider.class

The called method's class, org.springframework.boot.autoconfigure.hateoas.HateoasProperties, is available from the following locations:

    jar:file:/Users/silviu.burcea/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/3.5.0/spring-boot-autoconfigure-3.5.0.jar!/org/springframework/boot/autoconfigure/hateoas/HateoasProperties.class

The called method's class hierarchy was loaded from the following locations:

    org.springframework.boot.autoconfigure.hateoas.HateoasProperties: file:/Users/silviu.burcea/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/3.5.0/spring-boot-autoconfigure-3.5.0.jar

This must either be reverted or at least mentioned in 3.5.0 release notes. I have reported it to springdoc team, for their awareness: https://github.com/springdoc/springdoc-openapi/issues/3005

I'm happy to contribute once it's clear which project needs to change.

Offending commit, for context: https://github.com/spring-projects/spring-boot/commit/964abef6b35706df1e3567a9d753c13729eb19b7

Comment From: wilkinsona

Thanks for the report.

This wasn't mentioned in the release notes as we don't consider the getters and setters of @ConfigurationProperties to be public API. This is mentioned in the reference documentation:

The properties that map to @ConfigurationProperties classes available in Spring Boot, which are configured through properties files, YAML files, environment variables, and other mechanisms, are public API but the accessors (getters/setters) of the class itself are not meant to be used directly.

We'll discuss this to see if we want to make an exception in this case.

Comment From: philwebb

I'm not keen to change these back again, I think the change generally improves our code. I think springdoc-openapi-starter-webmvc should be able to adapt to our change and use reflection if they need to support older versions.