838 Commits

Author SHA1 Message Date
Stéphane Nicoll
d03847c2c7 Merge branch '3.3.x' into 3.4.x
Closes gh-44481
2025-02-28 11:10:31 +01:00
Stéphane Nicoll
e1f45c50ee Generate reflection hints for main methods
This commit makes sure to register the necessary hints to invoke the
main method of any bean available in the context. This is necessary
for tests that use the UseMainMethod feature.

This generates more hints than strictly necessary as there isn't a
way to contribute hints based on a ContextLoader, see
https://github.com/spring-projects/spring-framework/issues/34513 for
more details.

Closes gh-44461
2025-02-28 11:08:23 +01:00
Andy Wilkinson
c7b54dcbb3 Merge branch '3.3.x' into 3.4.x
Closes gh-43950
2025-01-24 08:53:03 +00:00
Andy Wilkinson
681d4c2744 Remove unused dependency management from spring-boot-parent
See gh-43584
2024-12-20 14:30:19 +00:00
Phillip Webb
940ff952fa Merge branch '3.3.x'
Closes gh-43507
2024-12-13 19:02:58 -08:00
Phillip Webb
6d09459cfc Improve error message when unable to find @SpringBootConfiguration
Closes gh-43357
2024-12-13 19:02:43 -08:00
Phillip Webb
e72546d2a6 Add customizer variant of requestFactorySettings
Add `requestFactorySettings` that accepts a `UnaryOperator` so that
the existing `requestFactorySettings` can be customized rather than
replaced.

Closes gh-43258
2024-12-10 14:54:33 -08:00
Phillip Webb
8ca8ab14f6 Add withRequestFactorySettings method and restore previous defaults
Update `TestRestTemplate` with a `withRequestFactorySettings` method
that can be used to change defaults such as `Redirects`.

This commit also restores the previous redirect defaults for HTTP
components where redirects would only be followed when the
`HttpClientOption.ENABLE_REDIRECTS` was specified.

Closes gh-43258
2024-12-05 18:01:09 -08:00
Phillip Webb
8b83afdb68 Polish 'Add redirects(...) method to RestTemplateBuilder'
Remove deprecations and new methods in `TestRestTemplate` in favor of
passing in a configured `RestTemplateBuilder`.

See gh-43258
2024-12-04 15:12:59 -08:00
Yanming Zhou
f450b28a7c Add redirects(...) method to RestTemplateBuilder
Add `redirects(...)` method to `RestTemplateBuilder` to allow redirect
customization. This new method is required in 3.4 since the default
redirect strategy for some clients has changed and users need a way
to restore the old behavior.

See gh-43258
2024-12-04 15:09:33 -08:00
Phillip Webb
916efb632c Merge branch '3.3.x' 2024-12-04 15:04:22 -08:00
Phillip Webb
9e7972a9b4 Polish code with code cleanup rules 2024-12-04 15:03:40 -08:00
Andy Wilkinson
32433e84f3 Merge branch '3.3.x'
Closes gh-43270
2024-11-22 15:46:38 +00:00
Andy Wilkinson
bb3651b7d1 Reduce warnings reported by Eclipse
Closes gh-43269
2024-11-22 15:39:35 +00:00
Phillip Webb
26c775eff8 Register AutoConfigurations using fully qualified class name
Update `AbstractApplicationContextRunner` and `Configurations` to
allow registration of beans with a specific generated bean name. By
default, no name is generated, however, `AutoConfigurations` has been
updated to use bean names using the fully qualified class name.

The update brings `ApplicationContextRunners` closer the behavior of
a standard Spring Boot application where user `@Configuration` classes
are usually registered with a simple name and auto-configurations are
imported (via an `ImportSelector`) using a fully qualified name.

Fixes gh-17963

Co-authored-by: Stéphane Nicoll <stephane.nicoll@broadcom.com>
Co-authored-by: Andy Wilkinson <andy.wilkinson@broadcom.com>
Co-authored-by: Dmytro Nosan <dimanosan@gmail.com>
2024-11-18 21:37:42 -08:00
Andy Wilkinson
362593019d Merge branch '3.3.x'
Closes gh-43053
2024-11-06 14:23:15 +00:00
Andy Wilkinson
4900ca1ffc Fix resetting of spied FactoryBean output
Fixes gh-31204
2024-11-06 13:27:09 +00:00
Stéphane Nicoll
606709ab8b Use Spring Framework's MockResolver implementation
Closes gh-42957
2024-11-05 11:59:01 +09:00
Stéphane Nicoll
e5ec38074b Merge branch '3.3.x'
Closes gh-42917
2024-10-29 13:39:31 +09:00
Stéphane Nicoll
5fcc585178 Merge branch '3.2.x' into 3.3.x
Closes gh-42916
2024-10-29 13:39:23 +09:00
Stéphane Nicoll
eba7a5a077 Update copyright year of changed files
See gh-42901
2024-10-29 13:35:35 +09:00
Tran Ngoc Nhan
ff855d9421 Remove redundant null check
See gh-42901
2024-10-29 13:33:55 +09:00
Phillip Webb
36a22fcd59 Unify HTTP client redirect behavior and provide configuration option
Update `ClientHttpRequestFactoryBuilder` implementations to ensure
that all libraries have consistent redirect follow behavior. Following
of redirects is enabled by default.

The `ClientHttpRequestFactorySettings` may be used to change if
redirects should be followed. The `spring.http.client.redirects`
property may also be used to update the default behavior.

Closes gh-42879
2024-10-25 02:45:36 -07:00
Phillip Webb
367912707a Update RestTemplateBuilder to use ClientHttpRequestFactoryBuilder
Refactor the internals of `RestTemplateBuilder` so that the new
`ClientHttpRequestFactoryBuilder` is used to create
`ClientHttpRequestFactory` instance.

See gh-36266
2024-10-25 02:45:35 -07:00
Phillip Webb
0305d1e9d5 Adapt to upstream Spring Framework @MockitoBean changes 2024-10-23 11:11:55 -07:00
Phillip Webb
168d82e138 Polish 2024-10-18 10:47:52 -07:00
Andy Wilkinson
25082d33e7 Provide more control over access to endpoint operations
This commit reworks the support for enabling and disabling endpoints,
replacing the on/off support that it provided with a finer-grained
access model that supports only allowing read-only access to endpoint
operations in addition to disabling an endpoint (access of none) and
fully enabling it (access of unrestricted).

The following properties are deprecated:

- management.endpoints.enabled-by-default
- management.endpoint.<id>.enabled

Their replacements are:

- management.endpoints.access.default
- management.endpoint.<id>.access

Similarly, the enableByDefault attribute on @Endpoint has been
deprecated with a new defaultAccess attribute replacing it.

Additionally, a new property has been introduced that allows an
operator to control the level of access to Actuator endpoints
that is permitted:

- management.endpoints.access.max-permitted

This property caps any access that may has been configured for
an endpoint. For example, if
management.endpoints.access.max-permitted is set to read-only and
management.endpoint.loggers.access is set to unrestricted, only
read-only access to the loggers endpoint will be allowed.

Closes gh-39046
2024-10-17 13:56:44 +01:00
Moritz Halbritter
d1976a48dc Upgrade to HttpClient5 5.4
Closes gh-42675
2024-10-17 09:51:39 +02:00
Andy Wilkinson
1b6b9efcb2 Reinstate init of Mockito mocks in test execution listener
Closes gh-42708
2024-10-16 10:22:31 +01:00
Stéphane Nicoll
2728344ccb Disable test temporarily
See https://github.com/spring-projects/spring-framework/issues/33690
2024-10-14 14:38:17 +02:00
Andy Wilkinson
31fada6d3e Start building against Spring Framework 6.2.0 snapshots
See gh-42562
2024-10-09 19:13:04 +01:00
Phillip Webb
7b3077280c Merge branch '3.3.x'
Closes gh-42441
2024-09-24 14:32:48 -07:00
Phillip Webb
100bedc07d Merge branch '3.2.x' into 3.3.x
Closes gh-42440
2024-09-24 14:29:09 -07:00
Phillip Webb
ad72411e2b Apply conventions plugin to all subprojects
Closes gh-42438
2024-09-24 14:26:32 -07:00
Phillip Webb
72f379a5b2 Merge branch '3.2.x' into 3.3.x
Closes gh-42434
2024-09-24 13:01:05 -07:00
Phillip Webb
eafe61c4ca Backport upgrade to Gradle 8.10.1
Cherry-pick commits d756bf4e86, 083ac67d13 and 162c929a80 to
upgrade to Gradle 8.10.1.

Closes gh-42433
2024-09-24 12:55:29 -07:00
Phillip Webb
f5b6514bef Allow additional context interfaces to be defined for testing
Update `AssertableApplicationContext` and `ApplicationContextRunner`
implementations to support additional `ApplicationContext` interfaces.

Closes gh-42369
2024-09-18 23:47:13 -07:00
Andy Wilkinson
d756bf4e86 Upgrade build to Gradle 8.10
Closes gh-41980
2024-08-23 12:41:05 +01:00
Phillip Webb
f1987e6f8b Update copyright year of changed files 2024-08-19 16:45:34 -07:00
Moritz Halbritter
46150bae89 Merge branch '3.3.x'
Closes gh-41858
2024-08-14 17:20:59 +02:00
Moritz Halbritter
1d45016d8c Upgrade to spring-javaformat 0.0.43
Closes gh-41853
2024-08-14 16:32:41 +02:00
Scott Frederick
cc3e62deaf Merge branch '3.3.x'
Closes gh-41850
2024-08-13 16:02:58 -05:00
Scott Frederick
cae3a6a3e2 Merge branch '3.2.x' into 3.3.x
Closes gh-41849
2024-08-13 16:02:48 -05:00
Scott Frederick
b43d97b359 Document the need to explicitly reset mock servers
When MockServerRestTemplateCustomizer and MockServerRestClientCustomizer
are used directly instead of via auto-configuration, it is necessary to
manually reset the MockRestServiceServer expectations between tests.

Closes gh-41848
2024-08-13 16:01:46 -05:00
Moritz Halbritter
f4b4f4f0bf Make PID and application version available in the environment
Adds the following new properties:

- spring.application.pid
- spring.application.version

Refactors the ResourceBanner and the structured logging support to use
the new properties.

Closes gh-41604
2024-08-01 15:03:41 +02:00
Andy Wilkinson
e201b94d4f Merge branch '3.3.x'
Closes gh-41616
2024-07-25 16:17:52 +01:00
Andy Wilkinson
c642f6d268 Merge branch '3.2.x' into 3.3.x
Closes gh-41613
2024-07-25 16:16:35 +01:00
Andy Wilkinson
5f666eec5b Reduce warnings reported by Eclipse
Closes gh-41598
2024-07-25 14:55:00 +01:00
Phillip Webb
000600c68a Merge branch '3.3.x' 2024-07-22 18:41:53 +01:00
Stéphane Nicoll
2975a8ce3f Fix javadoc warning
The `@deprecated` tag cannot be used on module-info. This commit adapts
the deprecation notice accordingly.

Closes gh-41481
2024-07-14 11:33:46 +02:00