Update `Restarter` to prevent 'Recursive update' `IllegalStateException`
from being thrown. Calls to `objectFactory.getObject()` now happen
outside of `computeIfAbsent`.
Fixes gh-41571
Update `MainMethod` discovery so that launcher classes from the
`org.springframework.boot.loader` code are not considered. This restores
the behavior of Spring Boot 2.7.11 and allows remote restart of uber
jars without pulling the loader classes into the `RestartClassLoader`.
Fixes gh-39733
- on AtomicBoolean in SpringApplicationBuilder
- on SimpleFormatter
- in a private method in FileSystemWatcher which is always called in a
synchronized block
- Replaced synchronized guarded HashMap with ConcurrentHashMap
- Replace synchronized with Lock when guarding long-running operations
- Remove unnecessary synchronization in FileSystemWatcher
- Replace HashMap with ConcurrentHashMap in Restarter
- Remove unnecessary locking on AtomicBoolean in
SpringApplicationBuilder
- Remove unnecessary locking in SimpleFormatter
Closes gh-36670
Update `MainMethod` to search from the bottom of the stack rather than
the start. Prior to this commit, an incorrect `main` method would be
found if more than one `main` was in the stack.
Fixes gh-35214
This commit updates Servlet based Spring Security auto-configuration
to use AuthorizationFilter, which is intended to supersede
FilterSecurityInterceptor.
See gh-31255
This commit adds the `AutoConfigurationImportsAnnotationProcessor` to
the `spring-boot-autoconfigure-processor` annotation processor
module. When added to a project build, the annotation processor will
generate the
`org.springframework.boot.autoconfigure.AutoConfiguration.imports`
file automatically from `@AutoConfiguration`-annotated classes. It
also applies the annotation processor to the Spring Boot build.
Closes gh-31228