Commit Graph
113 Commits
Author SHA1 Message Date
Stéphane Nicoll c4a1a0248d Merge branch '4.1.x'
Closes gh-51162
2026-07-30 08:52:15 +02:00
Stéphane Nicoll ae3788a3b4 Merge branch '4.0.x' into 4.1.x
Closes gh-51161
2026-07-30 08:52:09 +02:00
Alexander Makarov bb62e8c171 Use JacksonJsonSerde in Kafka Streams documentation
See gh-51152

Signed-off-by: Alexander Makarov <alexander.makarov@nightsong.li>
2026-07-30 08:46:31 +02:00
Stéphane Nicoll 297ee86945 Polish "Deprecate TestRestTemplate"
See gh-46632
2026-07-27 21:12:35 +02:00
Brian Clozel c539367ea2 Deprecate TestRestTemplate
Closes gh-46632
2026-07-27 16:55:39 +02:00
Stéphane Nicoll 3959c56bdd Deprecate RestTemplate support
With Spring Framework 7.1 deprecating RestTemplate for removal, this
commit deprecates our supporting infrastructure as well, and steers
users towards RestClient instead:

* RestTemplateAutoConfiguration and
  RestTemplateObservationAutoConfiguration
* RestTemplateBuilder, RestTemplateBuilderConfigurer, and
  RestTemplateBuilderClientHttpRequestInitializer
* RestTemplateCustomizer, RestTemplateRequestCustomizer, and
  ObservationRestTemplateCustomizer
* MockRestServiceServerAutoConfiguration,
  MockServerRestTemplateCustomizer, and RootUriRequestExpectationManager
  in the test support module

The reference documentation no longer covers RestTemplate and now
solely documents RestClient and WebClient. Code snippets and sample
tests that only existed to illustrate RestTemplate usage have been
removed accordingly.

Closes gh-51118
2026-07-25 08:32:32 +02:00
Stéphane Nicoll 21f7390944 Polish "Add AMQP 1.0 RabbitMQ auto-configuration"
See gh-49857
2026-07-15 18:11:53 +02:00
Eddú Meléndez 0ed57a6109 Add AMQP 1.0 RabbitMQ auto-configuration
See gh-49857

Signed-off-by: Eddú Meléndez <eddu.melendez@gmail.com>
2026-07-15 18:11:45 +02:00
Stéphane Nicoll b5ba1ec85c Add AMQP 1.0 generic auto-configuration
This commit adds auto-configuration for the generic AMQP 1.0 client
in Spring AMQP 4.1, using Qpid ProtonJ. Support for connection factory,
client and listener endpoints are available.

The "spring.amqp" namespace exposes settings to connect to an AMQP 1.0
compliant broker and customize client and listeners settings. Docker
compose and testcontainers support using RabbitMQ, ActiveMQ, and Artemis
have been added too.

Closes gh-49678
2026-07-15 15:21:10 +02:00
Stéphane Nicoll f48cc3ac10 Move Spring AMQP 0.9 support to spring-boot-rabbitmq
Now that Spring AMQP supports AMQP 1.0 as well, we need to straighten
out our existing support. AMQP 0.9 is RabbitMQ specific, so we can no
longer refer it to "amqp". This commit migrates the existing support
to spring-boot-rabbitmq and renames the starters as well.

For continuity, users should migrate from "spring-boot-starter-amqp"
to "spring-boot-starter-rabbitmq". While the root package has been
changed for consistency, most names are the same, including
configuration properties still in the "spring.rabbitmq" namespace.

Keys to configure the version of the RabbitMQ clients have migrated to
'rabbitmq.client' and 'rabbitmq.stream.client' respectively.

Closes gh-49677
2026-07-15 15:10:09 +02:00
Venkata Naga Sai Srikanth Gollapudi 87c4755a86 Harmonize use of Collections and Maps in configuration properties
See gh-50367

Signed-off-by: Venkata Naga Sai Srikanth Gollapudi <42247688+gollapudisrikanth@users.noreply.github.com>
2026-07-15 11:37:31 +02:00
Stéphane Nicoll e44b486a00 Merge branch '4.0.x' 2026-06-30 10:10:35 +02:00
Stéphane Nicoll 22eef97293 Add missing or outdated copyright headers
See gh-50894
2026-06-30 10:04:39 +02:00
Stéphane Nicoll aef3aa2241 Merge branch '4.0.x'
Closes gh-50622
2026-05-29 12:41:52 +02:00
Stéphane Nicoll 85ca24518c Merge branch '3.5.x' into 4.0.x
Closes gh-50621
2026-05-29 12:41:28 +02:00
Andy Wilkinson 6a74bb85a3 Merge branch '4.0.x'
Closes gh-50440
2026-05-14 15:03:44 +01:00
Andy Wilkinson add52b6ccd Merge branch '3.5.x' into 4.0.x
Closes gh-50439
2026-05-14 15:02:24 +01:00
Stéphane Nicoll 83ef0146f4 Merge branch '4.0.x'
Closes gh-50218
2026-04-25 11:22:09 +02:00
Stéphane Nicoll 3283c9264f Merge branch '3.5.x' into 4.0.x
Closes gh-50217
2026-04-25 11:21:07 +02:00
Phillip Webb 3bafd4994e Document gRPC support
Closes gh-49291
2026-04-21 20:03:28 -07:00
Phillip Webb 52cef18686 Support InetAddress filtering for HTTP Clients
Add `InetAddressFilter` interface which can be provided by
`HttpSettings` to filter out addresses in order to harden
applications against SSRF attacks.

Closes gh-49687
2026-04-13 22:03:50 -07:00
Stéphane Nicoll 495d16b1f8 Add auto-configuration for Redis annotation-driven listeners
This commit adds support for `@RedisListener` by providing the
infrastructure to register those endpoints using a default
`RedisMessageListenerContainer`.

Users wishing to configure additional containers can benefit from
`RedisMessageListenerContainerConfigurer`. The default container can
be tuned using new properties in the `spring.data.redis.listener`
namespace.

Closes gh-49858
2026-04-13 13:24:25 +02:00
Phillip Webb 53827d47d0 Move OAuth2 and SAML 2.0 documentation to a security section
Closes gh-50022
2026-04-10 21:09:58 -07:00
Phillip Webb 4cf2346ee7 Merge branch '4.0.x' 2026-04-10 17:53:33 -07:00
Phillip Webb dae5d24c4b Merge branch '3.5.x' into 4.0.x 2026-04-10 17:53:08 -07:00
Phillip Webb f8a5bb131f Merge branch '4.0.x' 2026-04-10 17:08:13 -07:00
Phillip Webb a546bd546f Fix MySamlRelyingPartyConfiguration Kotlin sample location
See gh-50023
2026-04-10 17:04:20 -07:00
Phillip Webb b206830ca4 Merge branch '4.0.x'
Closes gh-50025
2026-04-10 17:00:22 -07:00
Phillip Webb fdf478e6d5 Merge branch '3.5.x' into 4.0.x
Closes gh-50024
2026-04-10 17:00:04 -07:00
Moritz Halbritter c56cbd46b2 Map OpenTelemetry environment variables to properties
Closes gh-48799
2026-03-30 15:28:42 +02:00
Stéphane Nicoll a93ad0f173 Merge branch '4.0.x'
Closes gh-49715
2026-03-23 16:27:35 +01:00
Stéphane Nicoll bcd5b28da3 Merge branch '3.5.x' into 4.0.x
Closes gh-49714
2026-03-23 16:27:16 +01:00
Stéphane Nicoll 5296a5bbfd Revert "Rename spring-boot-amqp to spring-boot-rabbitmq"
This reverts commit 72b8a6ca05,
b820d9feac, and
edadf816ab.

See gh-49620
2026-03-20 11:03:28 +01:00
Stéphane Nicoll f728235906 Revert "Introduce Generic AMQP 1.0 client support"
This reverts commit 8dde82b557, c388dc92
5b7f0f726b, and
2d71ef94ed.

See gh-49621
2026-03-20 11:02:35 +01:00
Stéphane Nicoll c388dc92f1 Add AMQP 1.0 client auto-configuration
This commit adds auto-configuration for the generic AMQP 1.0 client
in Spring AMQP 4.1, using Qpid ProtonJ. The auto-configuration provides
an AmqpConnectionFactory as well as an AmqpClient with standard
customizer callbacks. The "spring.amqp" namespace exposes settings to
connect to an AMQP 1.0 compliant broker. Docker compose and
testcontainers support using RabbitMQ have been added too.

Closes gh-49621
2026-03-19 15:46:47 +01:00
Stéphane NicollandEddú Meléndez edadf816ab Rename package for RabbitMQ support
This commit renames the RabbitMQ root packages from amqp to rabbitmq.

See gh-49620

Co-authored-by: Eddú Meléndez <eddu.melendez@gmail.com>
2026-03-19 08:04:16 +01:00
Phillip Webb 55eba139ec Support binding of default properties when an empty property is defined
Update the `Binder` so that empty properties are treated as an indicator
that default value binding should be attempted. This update allow bound
objects to differentiate between a completely missing property vs one
that is present but doesn't have any values.

For example, given the following value object:

	@ConfigurationProperties("my")
	public record My(Name name, int age) {

		public record Name(String first, String last) {
		}

	}

The following binding scenarios are supported:

1) Full binding

	my.name.first=Spring
	my.name.last=Boot
	my.age=4

Binds to `new My(new Name("Spring", "Boot"), 4)`
(works the same as Spring Boot 4.0)

2) Missing Properties

	my.age=4

Binds to `new My(null, 4)`
(works the same as Spring Boot 4.0)

3) Default Properties

	my.name=
	my.age=4

Binds to `new My(new Name(null, null), 4)`
(previously would throw a converter exception)

Closes gh-48920
2026-03-17 11:37:51 -07:00
Stéphane Nicoll 494e86b56e Start building against Spring Framework 7.0.6 snapshots
See gh-49441
2026-03-06 09:53:35 +01:00
Stéphane Nicoll 9c93ff4b78 Start building against Spring Framework 7.0.6 snapshots
See gh-49418
2026-03-06 09:29:09 +01:00
Stéphane Nicoll 2fb9eb49d6 Merge branch '4.0.x'
Closes gh-49288
2026-02-22 17:23:57 +01:00
Stéphane Nicoll eff9ca0af2 Merge branch '3.5.x' into 4.0.x
Closes gh-49287
2026-02-22 17:23:48 +01:00
Phillip Webb 8c3174299c Merge branch '4.0.x' 2026-01-21 10:06:17 -08:00
Phillip Webb abec26e504 Polish 2026-01-21 10:06:02 -08:00
Moritz Halbritter c9be84af6e Delete web server's temporary directories when the context is closed
Closes gh-9983
2026-01-20 10:16:54 +01:00
Stéphane Nicoll 6b019c4ab2 Merge branch '3.5.x' into 4.0.x
Closes gh-48670
2026-01-04 17:15:53 +01:00
Stéphane Nicoll 3e689881f2 Polish "Harmonize Kotlin example for HTTP Service client support"
See gh-48577
2025-12-18 15:07:39 +01:00
jwalter 423373ba06 Harmonize Kotlin example for HTTP Service client support
See gh-48577

Signed-off-by: jwalter <joakim.waltersson@gmail.com>
2025-12-18 15:07:39 +01:00
Brian Clozel f61ac29f3f Document HttpMessageConverters detection changes
This commit updates the reference documentation to better reflect
changes applied in gh-48310. As of Spring Boot 4.0.1,
`HttpMessageConverter` beans are all considered as "custom" converters
and will be set ahead of the converters list in the auto-configuration
support.

For more specific changes, developers should contribute
`ClientHttpMessageConvertersCustomizer` or
`ServerHttpMessageConvertersCustomizer` beans to better reflect their
intent: should the converter be configured for client, server or both?
How should this converter be used?

Previously, Spring Boot was relying on heuristics but they would cause
issues for server-only converters, or for specific configuration that
were not meant to replace the default converter for a given media type.

Closes gh-48574
2025-12-18 14:56:38 +01:00
Stéphane Nicoll 134ebe42a7 Merge branch '3.5.x'
Closes gh-48532
2025-12-15 15:15:11 +01:00
Stéphane Nicoll 17d8929fac Merge branch '3.5.x' 2025-12-08 12:42:42 +01:00