Commit Graph
35 Commits
Author SHA1 Message Date
Phillip Webb a5bc294685 Merge branch '4.0.x' into 4.1.x
Closes gh-51897
2026-09-28 14:20:12 -07:00
Phillip Webb 7a871ff117 Polish 'Use instanceof pattern matching to avoid an explicit cast'
See gh-51896
2026-09-28 14:18:55 -07:00
Tran Ngoc Nhan 68c321499a Use instanceof pattern matching to avoid an explicit cast
See gh-51896

Signed-off-by: Tran Ngoc Nhan <ngocnhan.tran1996@gmail.com>
2026-09-28 14:18:41 -07:00
Stéphane Nicoll 3af085d914 Merge branch '4.0.x' into 4.1.x
Closes gh-51890
2026-09-28 13:16:33 +02:00
Kosuke Yanagihara f0987da4bb Back off DevTools' JDBC and R2DBC support when modules are missing
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>
2026-09-28 12:44:47 +02:00
Stéphane Nicoll cd6efbd910 Merge branch '4.0.x' into 4.1.x
Closes gh-51730
2026-09-14 11:42:14 +02:00
Stéphane Nicoll 5c799bc0cf Polish "Fix detection of reactive web environments in DevTools"
See gh-51708
2026-09-14 11:34:05 +02:00
ohchanKyu f5b563934a Fix detection of reactive web environments in DevTools
DevToolsPropertyDefaultsPostProcessor looked for
ConfigurableReactiveWebEnvironment
in org.springframework.boot.web.reactive.context by name, but the class
moved to org.springframework.boot.web.context.reactive in 4.0. As a
result, reactive web applications were never identified as web
applications and the hint about setting logging.level.web to DEBUG was
not logged for them.

ConfigurableReactiveWebEnvironment is part of spring-boot, so it is now
referenced directly rather than by name. The servlet environment check
is unchanged as spring-web is an optional dependency.

See gh-51708

Signed-off-by: ohchanKyu <okc0202@naver.com>
2026-09-14 11:09:40 +02:00
Stéphane Nicoll bce125b7ec Merge branch '4.0.x' into 4.1.x
Closes gh-51087
2026-07-21 14:51:51 +02:00
Manu Sridharan 428806d71f Adapt to improvements in Nullaway 0.13.8
This commit adapts @Nullable when calling Map#remove as it correctly
handles nullability.

See gh-50972

Signed-off-by: Manu Sridharan <msridhar@gmail.com>
2026-07-21 14:45:29 +02:00
Andy Wilkinson c5969670d1 Merge branch '4.0.x'
Closes gh-50275
2026-05-01 11:45:42 +01:00
Andy Wilkinson 5628644848 Merge branch '3.5.x' into 4.0.x
Closes gh-50274
2026-05-01 11:41:12 +01:00
Andy Wilkinson 7a4d9e4cdb Merge branch '4.0.x'
Closes gh-50177
2026-04-23 08:46:21 +01:00
Andy Wilkinson fd70564879 Merge branch '3.5.x' into 4.0.x
Closes gh-50176
2026-04-23 08:45:56 +01:00
Andy Wilkinson 0277a4fad5 Merge branch '4.0.x'
Closes gh-50163
2026-04-22 21:07:54 +01:00
Andy Wilkinson ad25c28b6d Merge branch '3.5.x' into 4.0.x
Closes gh-50162
2026-04-22 20:51:26 +01:00
Stéphane Nicoll 02f3dba12b Merge branch '4.0.x' 2026-03-26 16:08:01 +01:00
Stéphane Nicoll 9105b64025 Merge branch '3.5.x' into 4.0.x 2026-03-26 16:07:44 +01:00
Brian Clozel 8018829ff5 Deprecate LiveReload support for removal
Closes gh-48971
2026-02-26 14:22:02 +01:00
Stéphane Nicoll 12652a313e Deprecate Derby support since Apache Derby is retired
Closes gh-48567
2025-12-30 17:36:53 +01:00
Stéphane Nicoll d1e5fe3248 Merge branch '3.5.x'
Closes gh-48106
2025-11-13 10:31:25 +01:00
Stéphane Nicoll 96457f4665 Merge branch '3.5.x'
Closes gh-47996
2025-11-09 12:16:47 +01:00
Vedran Pavic b3133d4ec1 Disable LiveReload server by default
Change the default value of the configuration property
`spring.devtools.livereload.enabled` to `false`.

See gh-47387

Signed-off-by: Vedran Pavic <vedran@vedranpavic.com>
2025-10-20 18:10:47 -07:00
Phillip Webb c2e68c0911 Refactor security auto-configuration package structure
Refactor security auto-configuration package structure and classes to
create distinct web configurations.

Closes gh-14412
2025-10-16 14:10:08 -07:00
Andy Wilkinson 55e7c83498 Allow modules to contribute to Devtools' default properties
Closes gh-44792
2025-10-15 20:19:02 +01:00
Phillip Webb 8f89bd304f Polish code to fix warnings 2025-10-14 21:51:25 -07:00
Moritz Halbritter 58e2f9c872 Improve null-safety of module/spring-boot-devtools
See gh-47263
2025-10-06 12:03:54 +02:00
Phillip Webb 1acda68d39 Relocate AnsiOutputApplicationListener
Move `AnsiOutputApplicationListener` from `o.s.b.context.config`
to `o.s.b.support` since it's more of a supporting class than a
context concern.

See gh-47232
2025-09-17 14:57:32 -07:00
Phillip Webb 6c84674c33 Relocate EnvironmentPostProcessor and implementations out of env
Move the `EnvironmentPostProcessor` from `org.springframework.boot.env`
to `org.springframework.boot` so that we can make the `env` package
foundational.

Most `EnvironmentPostProcessor` implementation has also been relocated
to a new `org.springframework.boot.support` package.

See gh-47232
2025-09-17 14:57:10 -07:00
Moritz Halbritter 2c4d162f40 Polish "Optimize DevTools resource lookup performance"
See gh-46289
2025-09-01 10:52:38 +02:00
DongHoon Lee 3e41807e1d Optimize DevTools resource lookup performance
The resource resolver in DevTools can cause performance degradation
during application restarts in large projects. Key methods like
isDeleted() and getAdditionalResources() rely on nested loops, leading
to O(n*m) complexity.

This commit refactors ClassLoaderFiles to use a pre-computed, flattened
map. This provides O(1) complexity for direct lookups and allows for
efficient single-loop iteration.

The ClassLoaderFilesResourcePatternResolver is updated to leverage this
new, efficient structure:

- getFile() and size() are improved from O(n) to O(1).
- isDeleted() and getAdditionalResources() are improved from O(n*m) to
  O(m) by eliminating nested loops.
- Data consistency is maintained across all operations.

This optimization significantly improves restart performance with a
minimal memory footprint, while preserving the existing API and
exception handling behavior.

See gh-46289

Signed-off-by: DongHoon Lee <dhl1924@naver.com>
2025-09-01 10:52:37 +02:00
Moritz Halbritter d9750462bc Improve null-safety of module/spring-boot-devtools
See gh-46926
2025-08-26 14:22:54 +02:00
Moritz Halbritter 4d76f204e3 Add nullability annotations to module/spring-boot-devtools
See gh-46587
2025-08-07 10:48:45 +02:00
Moritz Halbritter c0f1f641ce Make auto-configurations final and remove public members
Closes gh-32883
2025-07-29 09:48:49 +02:00
Phillip Webb decc32dde3 Restructure project directories to better fit Gradle
Closes gh-46358
2025-07-10 17:54:08 -07:00