Construct JarFileUrlKey directly from already-parsed URL specification
to avoid unnecessary URL construction and parsing on cache hits.
A URL is only created on a cache miss when the JarFile needs to be
instantiated.
This eliminates redundant object allocation in the hot path when
frameworks probe for optional classes or package-info metadata across
a large executable JAR.
See gh-51827
Signed-off-by: sharanrenukeshbharmshetty <sbharmshetty@gmail.com>
Update `AutoConfigurationSorter` to improve performance by building
reverse `@AutoConfigureBefore` relationships while the
auto-configuration graph is created and using stable sort ranks during
traversal.
See gh-51867
Signed-off-by: aalsanie <ahmad.alsanie@hotmail.com>
Closes gh-51896
* pr/51896:
Polish 'Use instanceof pattern matching to avoid an explicit cast'
Use instanceof pattern matching to avoid an explicit cast
DevToolsDataSourceAutoConfiguration and DevToolsR2dbcAutoConfiguration
were only guarded by classes from the JDK and r2dbc-spi respectively.
When a single user-defined DataSource or ConnectionFactory bean was
present, their conditions went on to reference classes from
spring-boot-jdbc or spring-boot-r2dbc. Both are optional dependencies
of spring-boot-devtools, so startup failed with a NoClassDefFoundError
when they were absent.
This commit adds a class from each module to the class conditions.
Without the modules the conditions could never match, so this only
turns the failure into a back-off.
See gh-51872
Signed-off-by: Kosuke Yanagihara <11373191+ksky8864@users.noreply.github.com>
MariaDbEnvironment checked for MARIADB_ALLOW_EMPTY_PASSWORD, which the
official MariaDB image does not support. The documented variable is
MARIADB_ALLOW_EMPTY_ROOT_PASSWORD. As a result, a compose service that
used the documented variable started fine but Spring Boot failed with
"No MariaDB password found".
See gh-51870
Signed-off-by: ohchanKyu <okc0202@naver.com>
Closes gh-51847
* dependabot/github_actions/jfrog/setup-jfrog-cli-5.2.0:
Polish "Bump jfrog/setup-jfrog-cli from 5.1.0 to 5.2.0"
Bump jfrog/setup-jfrog-cli from 5.1.0 to 5.2.0
Closes gh-51846
* dependabot/github_actions/Homebrew/actions/setup-homebrew-2026.09.21.1:
Bump Homebrew/actions/setup-homebrew from 2026.09.13.1 to 2026.09.21.1
Restructured to spring.cache.caffeine.cache-mode with an enum that can
be "native" or "async". Also clarified in the documentation the scope
of the property and that custom caches are not affected.
See gh-51844
CaffeineCacheManager supports asynchronous caches backed by Caffeine's
AsyncCache via setAsyncCacheMode, which adds support for Cache.retrieve.
Add a spring.cache.caffeine.async property (default false) wired to
CaffeineCacheManager.setAsyncCacheMode in CaffeineCacheConfiguration.
See gh-51844
Signed-off-by: seonghun lee <harrisleesh@gmail.com>