Commit Graph

8734 Commits

Author SHA1 Message Date
Brian Clozel cbe83f8db5 Make base path configurable for WebFlux applications
This commit adds the `"spring.webflux.base-path"` configuration
property. Configuring this property will gather all `HttpHandlers` into
a single composite and prefix all requests with a shared base path.

Closes gh-10129
2020-03-24 22:19:19 +01:00
Stephane Nicoll 97bf3ecf1c Polish "Migrate off deprecated Spring Data Cassandra API"
See gh-20662
2020-03-24 18:28:33 +01:00
Mark Paluch 8355d30456 Migrate off deprecated Spring Data Cassandra API
Configure UserTypeResolver and CodecRegistry on
MappingCassandraConverter. Configure on CassandraMappingContext only the
simple type holder instead of custom conversions.

See gh-20662
2020-03-24 18:28:33 +01:00
Brian Clozel eb70fd952f Turn LivenessState and ReadinessState into enums
Prior to this commit, `LivenessState` and `ReadinessState` were
immutable classes. This was done in order to have additional behavior
and information in those classes.

Because the current implementation doesn't need this, this commit turns
those classes into simple enums.
Additional state and information can be added to the
`*StateChangedEvent` classes.

See gh-19593
2020-03-24 18:25:52 +01:00
Stephane Nicoll 6aa3461611 Version layers configuration xsd
This commit provides a versioned xsd for the layers configuration of the
Maven plugin. The version starts at `2.3` to match with the Spring Boot
feature release in which this was introduced.

Closes gh-20663
2020-03-24 15:55:30 +01:00
Stephane Nicoll 5c6bc3729e Upgrade to Spring Framework 5.2.5
Closes gh-20571
2020-03-24 14:29:43 +01:00
Stephane Nicoll 44a8ff893d Upgrade to Spring Framework 5.2.5
Closes gh-20571
2020-03-24 14:28:15 +01:00
Stephane Nicoll 16d2db68f9 Add dependency management for Jakarta Xml Soap 1.4.2
Closes gh-20661
2020-03-24 13:09:29 +01:00
Dave Syer 5022ec500a Extra detail for Kubernetes probes
Provides a few more concrete details about how probes and Kubernetes
behave, so users can make more informed decisions.

See gh-19593
Closes gh-20660
2020-03-24 13:02:54 +01:00
Stephane Nicoll b53687535d Upgrade to Maven Dependency Plugin 3.1.2
Closes gh-20658
2020-03-24 12:04:13 +01:00
Stephane Nicoll 9e87b54f09 Upgrade to Xmlunit2 2.6.4
Closes gh-20657
2020-03-24 12:04:13 +01:00
Stephane Nicoll 0bb564dff9 Upgrade to Spring Session Bom Corn-SR2
Closes gh-20656
2020-03-24 12:04:13 +01:00
Stephane Nicoll d87726a953 Upgrade to Postgresql 42.2.11
Closes gh-20655
2020-03-24 12:04:13 +01:00
Stephane Nicoll c99ef5df76 Upgrade to Neo4j Ogm 3.2.10
Closes gh-20654
2020-03-24 12:04:13 +01:00
Stephane Nicoll 64ca69305f Upgrade to Liquibase 3.8.8
Closes gh-20653
2020-03-24 12:04:13 +01:00
Stephane Nicoll 67d2b8baa9 Upgrade to Kotlin Coroutines 1.3.5
Closes gh-20652
2020-03-24 12:04:12 +01:00
Stephane Nicoll 059e1cdd13 Upgrade to Kotlin 1.3.71
Closes gh-20651
2020-03-24 12:04:12 +01:00
Stephane Nicoll 468ddee339 Upgrade to Freemarker 2.3.30
Closes gh-20650
2020-03-24 12:04:12 +01:00
Stephane Nicoll e3bdcae09d Upgrade to Elasticsearch 6.8.7
Closes gh-20649
2020-03-24 12:04:12 +01:00
Stephane Nicoll ef9d64c1fb Upgrade to Jetty 9.4.27.v20200227
Closes gh-20648
2020-03-24 12:04:12 +01:00
Stephane Nicoll e1e8528867 Upgrade to Janino 3.1.2
Closes gh-20647
2020-03-24 12:04:12 +01:00
Stephane Nicoll bd96698ca3 Upgrade to Tomcat 9.0.33
Closes gh-20646
2020-03-24 12:04:12 +01:00
Stephane Nicoll 47e1e273c1 Upgrade to Httpclient 4.5.12
Closes gh-20645
2020-03-24 12:04:12 +01:00
Stephane Nicoll 46ffb4fd88 Upgrade to Activemq 5.15.12
Closes gh-20644
2020-03-24 12:04:12 +01:00
Stephane Nicoll f244e12ec2 Add dependency management for Jakarta Xml Soap 1.4.2
Closes gh-20659
2020-03-24 12:04:12 +01:00
dreis2211 25f48cb289 Fix typos in HealthEndpointGroupConfigurer
See gh-20628
2020-03-24 11:18:42 +01:00
Stephane Nicoll 7b215e6998 Upgrade to Jakarta Xml Ws 2.3.3
Closes gh-20643
2020-03-24 10:59:40 +01:00
Stephane Nicoll ecb1bdcc45 Upgrade to Jakarta Xml Bind 2.3.3
Closes gh-20642
2020-03-24 10:59:39 +01:00
Stephane Nicoll 5294c46380 Upgrade to Undertow 2.0.30.Final
Closes gh-20641
2020-03-24 10:59:37 +01:00
Stephane Nicoll 0766c2c591 Upgrade to Rxjava2 2.2.19
Closes gh-20640
2020-03-24 10:59:36 +01:00
Stephane Nicoll 3fe6f409b7 Upgrade to Netty Tcnative 2.0.30.Final
Closes gh-20639
2020-03-24 10:59:35 +01:00
Stephane Nicoll 5d1e303c0b Upgrade to Netty 4.1.48.Final
Closes gh-20638
2020-03-24 10:59:34 +01:00
Stephane Nicoll cde39f4676 Upgrade to Micrometer 1.3.6
Closes gh-20637
2020-03-24 10:59:33 +01:00
Stephane Nicoll 278b206af5 Upgrade to Dropwizard Metrics 4.1.5
Closes gh-20636
2020-03-24 10:59:32 +01:00
Stephane Nicoll 262f1239db Upgrade to Jakarta Mail 1.6.5
Closes gh-20635
2020-03-24 10:59:31 +01:00
Stephane Nicoll 2ec2416357 Upgrade to Sendgrid 4.4.6
Closes gh-20634
2020-03-24 10:59:29 +01:00
Stephane Nicoll fcde01cc21 Upgrade to Appengine Sdk 1.9.79
Closes gh-20633
2020-03-24 10:59:28 +01:00
Stephane Nicoll 1ffdf8a194 Upgrade to Jackson 2.10.3
Closes gh-20632
2020-03-24 10:59:27 +01:00
Stephane Nicoll 89d8fe6717 Upgrade to Couchbase Client 2.7.13
Closes gh-20631
2020-03-24 10:59:25 +01:00
dreis2211 f95e9543dc Fix typos in packaging docs
See gh-20630
2020-03-24 07:44:26 +01:00
Phillip Webb 0717de723f Polish 2020-03-23 20:03:44 -07:00
Phillip Webb 9a33a723fe Update copyright year of changed files 2020-03-23 14:15:08 -07:00
Phillip Webb ce1ae11c26 Merge branch '2.2.x' 2020-03-23 14:14:47 -07:00
Phillip Webb 16b5ea3414 Update copyright year of changed files 2020-03-23 14:13:33 -07:00
Brian Clozel 4be64e8f9c Add "management.health.probes.enabled" config property
Prior to this commit, we were relying on the
`"spring.main.cloud-platform"` property for overriding cloud platform
detection and enabling liveness and readiness probes. Changes made in
gh-20553 have now been reverted.

This commit adds the `"management.health.probes.enabled"` configuration
property. The auto-configuration now enables the HTTP Probes and
`HealthIndicator` if this property is enabled, or if the Kubernetes
cloud platform is detected.

This property is `false` by default for now, since enabling this for all
Spring Boot applications would be a breaking change. In this case, the
global `"/actuator/health"` endpoint could report `OUT_OF_SERVICE`
during startup time because the application now reports the readiness as
well.

See gh-19593
2020-03-23 22:04:30 +01:00
Brian Clozel 05db46951d Revert "Override CloudPlatform auto-detection with property"
This reverts commit 4b7ed5efef.

See gh-20553
2020-03-23 21:23:51 +01:00
Brian Clozel 3cc0ab1583 Polish reference docs on Kubernetes Probes
See gh-19593
2020-03-23 21:23:51 +01:00
Madhura Bhave 7444306d0b Polish docs 2020-03-23 13:01:16 -07:00
Madhura Bhave a06f4f21e3 Combine application and resources layers into a single layer
Closes gh-20562
2020-03-23 12:59:42 -07:00
Madhura Bhave 952e529787 Rename "classes" to "application" in custom layer configuration
Closes gh-20539
2020-03-23 10:44:03 -07:00
Stephane Nicoll 29c89f3c27 Upgrade to Reactor Dysprosium-SR6
Closes gh-20570
2020-03-23 18:41:24 +01:00
Stephane Nicoll 8d9c9126b1 Upgrade to Reactor Dysprosium-SR6
Closes gh-20569
2020-03-23 18:40:08 +01:00
Stephane Nicoll 9a5ffb7e0c Upgrade to Reactor Californium SR17
Closes gh-20624
2020-03-23 18:28:42 +01:00
Stephane Nicoll 8c9711ab9a Merge branch '2.2.x'
Closes gh-20622
2020-03-23 15:28:41 +01:00
Stephane Nicoll bf15276af1 Fix import in constructor binding example
Closes gh-20378
2020-03-23 15:27:08 +01:00
Stephane Nicoll 1a9065f46f Merge branch '2.2.x'
Closes gh-20621
2020-03-23 14:38:03 +01:00
Stephane Nicoll 8f265f8d57 Polish "Fix @FlywayDataSource with multiple data sources"
See gh-20617
2020-03-23 14:37:23 +01:00
Shimbo Takaaki 2410d6bbd1 Fix @FlywayDataSource with multiple data sources
See gh-20617
2020-03-23 14:25:57 +01:00
Stephane Nicoll 34b71561d3 Merge branch '2.2.x'
Closes gh-20619
2020-03-23 14:22:56 +01:00
Stephane Nicoll 7be3db2d4d Merge branch '2.1.x' into 2.2.x
Closes gh-20618
2020-03-23 14:22:30 +01:00
Stephane Nicoll bcce6f9f07 Document that Jackson is a required dependency of the Actuator
Closes gh-19564
2020-03-23 14:16:55 +01:00
Stephane Nicoll ec8d2c5843 Merge branch '2.2.x'
Closes gh-20616
2020-03-23 12:57:00 +01:00
Stephane Nicoll 39b965e1fd Merge branch '2.1.x' into 2.2.x
Closes gh-20615
2020-03-23 12:55:44 +01:00
Stephane Nicoll f5761bd508 Auto-configure listener container factory without consumer factory
Previously, the presence of a `ConsumerFactory` bean would make the
auto-configured one to back off, leading to a failure down the line if
no available instance matches the generics criterion. This commit
improves the auto-configuration to create a `ConsumerFactory<?,?>`
behind the scenes if none is available.

Closes gh-19221
2020-03-23 12:52:33 +01:00
Andy Wilkinson 4cdb968efa Utilise Reactor Netty's new graceful shutdown support
Closes gh-20613
2020-03-23 10:52:31 +00:00
Andy Wilkinson 6b47dd06e8 Start building against Reactor Dysprosium-SR6 snapshots
See gh-20570
2020-03-23 10:52:30 +00:00
Stephane Nicoll 3735771f9c Merge branch '2.2.x'
Closes gh-20612
2020-03-23 11:17:52 +01:00
Stephane Nicoll 08a89b6288 Polish "Configure signature algorithm when using public key jwt decoder"
See gh-20523
2020-03-23 11:17:22 +01:00
Michael Kreis 69e33d6e62 Configure signature algorithm when using public key jwt decoder
See gh-20523
2020-03-23 10:56:59 +01:00
Johnny Lim cc18b91723 Fix "Building Docker Images" section level
See gh-20608
2020-03-23 08:19:49 +00:00
Stephane Nicoll 615ec8b6f5 Merge branch '2.2.x'
Closes gh-20607
2020-03-22 19:57:47 +01:00
dreis2211 6ff842441c Polish BindableTests
See gh-20604
2020-03-22 19:55:32 +01:00
dreis2211 ef9f1d39a3 Remove redundant MockitoAnnotations.initMocks()
See gh-20601
2020-03-22 08:43:50 +01:00
Stephane Nicoll 70aa788747 Merge branch '2.2.x'
Closes gh-20600
2020-03-21 15:15:20 +01:00
Stephane Nicoll 8593270b5b Only remove trailing slash from URI value
This commit upgrades the algorithm when trailing slash are to be
ignored. Previously a root URI (i.e. "/") would result to to empty
string which is an issue for monitoring system that requires tag values
to be non empty. If the URI is a single character, the trailing is not
applied and "/" is left as is.

Closes gh-20536
2020-03-21 15:11:50 +01:00
Brian Clozel 6b9f2cac17 Fix section title levels in reference docs 2020-03-21 11:33:42 +01:00
Brian Clozel ffdf9a422f Polish Liveness and Readiness support
This commit moves the core Liveness and Readiness support to its own
`availability` package. We've made this a core concept independent of
Kubernetes.

Spring Boot now produces `LivenessStateChanged` and
`ReadinessStateChanged` events as part of the typical application
lifecycle.

Liveness and Readiness Probes (`HealthIndicator` components and health
groups) are still configured only when deployed on Kubernetes.

This commit also improves the documentation around Probes best practices
and container lifecycle considerations.

See gh-19593
2020-03-20 23:54:00 +01:00
Andy Wilkinson 6cff66ac4d Merge branch '2.2.x'
Closes gh-20590
2020-03-20 11:03:37 +00:00
Andy Wilkinson 9e7ab46ecc Merge branch '2.1.x' into 2.2.x
Closes gh-20589
2020-03-20 11:03:15 +00:00
Jordan Simpson 0d9d0f8532 Link to correct factory in TomcatReactiveWebServerFactory's javadoc
See gh-20583
2020-03-20 11:02:41 +00:00
Scott Frederick 3f378e1276 Add command-line options for Gradle bootBuildImage parameters
This commit adds support for setting the image name and builder
parameters of the Gradle bootBuildImage task using command-line
options as an alternative to DSL configuration.

See gh-20520
2020-03-19 17:21:07 -05:00
Brian Clozel b30e5a60c5 Polish
See gh-19593
2020-03-19 20:07:35 +01:00
Stephane Nicoll 579a6ac254 Adapt tests for support for Java 14
See gh-20576
2020-03-19 14:54:33 +01:00
Andy Wilkinson f5e1bad900 Polish 2020-03-19 13:53:29 +00:00
Brian Clozel fd0b2f6695 Add Kubernetes Liveness and Readiness Probes support
Prior to this commit and as of Spring Boot 2.2.0, we would advise
developers to use the Actuator health groups to define custom "liveness"
and "readiness" groups and configure them with subsets of existing
health indicators.

This commit addresses several limitations with that approach.

First, `LivenessState` and `ReadinessState` are promoted to first class
concepts in Spring Boot applications. These states should not only based
on periodic health checks. Applications should be able to track changes
(and adapt their behavior) or update states (when an error happens).

The `ApplicationStateProvider` can be injected and used by applications
components to get the current application state. Components can also
track specific `ApplicationEvent` to be notified of changes, like
`ReadinessStateChangedEvent` and `LivenessStateChangedEvent`.
Components can also publish such events with an
`ApplicationEventPublisher`. Spring Boot will track startup event and
application context state to update the liveness and readiness state of
the application. This infrastructure is available in the
main spring-boot module.

If Spring Boot Actuator is on the classpath, additional
`HealthIndicator` will be contributed to the application:
`"LivenessProveHealthIndicator"` and `"ReadinessProbeHealthIndicator"`.
Also, "liveness" and "readiness" Health groups will be defined if
they're not configured already.

Closes gh-19593
2020-03-19 14:11:00 +01:00
Brian Clozel b680db6cd8 Add HealthEndpointGroupsRegistry and its Customizer
Prior to this commit, `HealthContributor` would be exposed under the
main `HealthEndpoint` and subgroups, `HealthEndpointGroups`. Groups are
driven by configuration properties and there was no way to contribute
programmatically new groups.

This commit introduces the `HealthEndpointGroupsRegistry` (a mutable
version of `HealthEndpointGroups`) and a
`HealthEndpointGroupsRegistryCustomizer`. This allows configurations to
add/remove groups during Actuator auto-configuration.

Closes gh-20554
2020-03-19 14:11:00 +01:00
Brian Clozel 4b7ed5efef Override CloudPlatform auto-detection with property
This commit adds a new `"spring.main.cloud-platform"` configuration
property that overrides the `CloudPlatform` detection.

This makes it easier to enable paltform-specific features when running
applications locally or when writing integration tests.

Closes gh-20553
2020-03-19 14:11:00 +01:00
Stephane Nicoll 0b7f198b54 Publish Maven plugin API
This commit enables javadoc generator for the Spring Boot Maven plugin.

This also harmonizes the structure of the documentation, with an `/api`
and a `/reference` root directories for the javadoc and the reference
guide respectively.

Closes gh-20127
2020-03-19 14:00:58 +01:00
Stephane Nicoll 58a45c53ac Upgrade to Groovy 2.5.10
Closes gh-20575
2020-03-19 13:33:57 +01:00
Stephane Nicoll 5893786cbb Polish "Add 'threads' configuration group for embedded containers"
See gh-19475
2020-03-19 13:13:45 +01:00
cbono 208f58104a Add 'threads' configuration group for embedded containers
See gh-19475
2020-03-19 12:12:11 +01:00
Stephane Nicoll bece0f1360 Start building against Spring Kafka 2.3.7 snapshots
See gh-20574
2020-03-19 11:00:19 +01:00
Stephane Nicoll 96cffb9dd3 Start building against Spring Data Moore SR6 snapshots
See gh-20573
2020-03-19 10:59:18 +01:00
Stephane Nicoll e940e751c1 Start building against Spring Framework 5.2.5 snapshots
See gh-20571
2020-03-19 10:52:32 +01:00
Stephane Nicoll 3966730e02 Start building against Reactor Dysprosium-SR6 snapshots
See gh-20569
2020-03-19 10:49:42 +01:00
dreis2211 7924dd62b0 Add security.protocol to KafkaProperties
See gh-20360
2020-03-19 10:36:20 +01:00
Scott Frederick e607c6842f Polish Gradle layer configuration DSL
This commit modifies the DSL for custom layer configuration in the
Gradle plugin to avoid duplication of terms that could be confusing.

Fixes gh-20563
2020-03-18 16:21:40 -05:00
Stephane Nicoll 0f5ca030db Polish "Add Java 14 CI"
See gh-20413
2020-03-18 15:09:14 +01:00
Stephane Nicoll 2e2f839bc8 Upgrade to Gradle 6.3 RC2
Closes gh-20558
2020-03-18 14:29:15 +01:00
Andy Wilkinson 9b817caff3 Revert "Update extract to write files to their original, unlayered location"
This reverts commit 9f3bc78f36.
2020-03-18 12:21:46 +00:00
Andy Wilkinson 0a17e2daf3 Merge branch '2.2.x'
Closes gh-20556
2020-03-18 10:57:40 +00:00
Lars Grefer c748f36856 Fix recommended task dependency configuration
`compileJava.dependsOn(processResources)` is not enough to ensure the
correct behavior. Using `dependsOn` only affects the execution order
(`processResources` before `compileJava`) but not the up-to-date check
of `compileJava`. After modifying
`META-INF/additional-spring-configuration-metadata.json`, the
`processResouces` task will considered out-of-date and will be
re-executed, but after that `compileJava` will still be considered
up-to-date which causes the changes not to be merged into
`META-INF/spring-configuration-metadata.json`

With this change the up-do-date check of `compileJava` is affected,
too. Therefore, it will correctly re-execute the
configuration-processor when
`META-INF/additional-spring-configuration-metadata.json` was changed.

See gh-20323
2020-03-18 10:55:32 +00:00
Andy Wilkinson 9f3bc78f36 Update extract to write files to their original, unlayered location 2020-03-18 09:51:57 +00:00
Scott Frederick 44f7508825 Fix BuildImageMojo javadoc. 2020-03-17 19:12:47 -05:00
Scott Frederick 08e96427de Add command-line properties for Maven build-image options
This commit adds support for setting the image name and builder
parameters of the Maven spring-boot:build-image goal using command-line
properties as an alternative to plugin configuration in pom.xml. Per
Maven conventions, a value in pom.xml configuration will override a
command-line property when both are provided.

Fixes gh-20520
2020-03-17 18:40:37 -05:00
Stephane Nicoll f470f27666 Merge branch '2.2.x'
Closes gh-20549
2020-03-17 18:15:19 +01:00
dreis2211 d9171d0afe Use @Configuration(proxyBeanMethods=false) wherever possible
See gh-20541
2020-03-17 17:17:38 +01:00
Stephane Nicoll 58eb0ba4d3 Add additional timeout settings
This commit expands the `spring.couchbase.env.timeouts` configuration
namespace with timeouts for disconnect, key-value operations with a
durability level, search, analytics and management.

Closes gh-19893

Co-authored-by: Michael Nitschinger <michael@nitschinger.at>
2020-03-17 17:00:34 +01:00
Stephane Nicoll abe43b2e83 Upgrade to Couchbase SDK v3
This commit upgrades to the Couchbase SDK v3 which brings the following
breaking changes:

* Bootstrap hosts have been replaced by a connection string and the
authentication is now mandatory.
* A `Bucket` is no longer auto-configured. The
`spring.couchbase.bucket.*` properties have been removed
* `ClusterInfo` no longer exists and has been replaced by a dedicated
API on `Cluster`.
* `CouchbaseEnvironment` no longer exist in favour of
`ClusterEnvironment`, the customizer has been renamed accordingly.
* The bootstrap-related properties have been removed. Users requiring
custom ports should supply the seed nodes and initialize a Cluster
themselves.
* The endpoints-related configuration has been consolidated in a
single IO configuration.

The Spring Data Couchbase provides an integration with the new SDK. This
leads to the following changes:

* A convenient `CouchbaseClientFactory` is auto-configured.
* Repositories are configured against a bucket and a scope. Those can
be set via configuration in `spring.data.couchbase.*`.
* The default consistency property has been removed in favour of a more
flexible annotation on the repository query methods instead. You can now
specify different query consistency on a per method basis.
* The `CacheManager` implementation is provided, as do other stores for
consistency so a dependency on `couchbase-spring-cache` is no longer
required.

See gh-19893

Co-authored-by: Michael Nitschinger <michael@nitschinger.at>
2020-03-17 17:00:09 +01:00
Stephane Nicoll e3899df22c Configure Spring Data Couchbase explicitly
This commit configures Spring Data Couchbase explicitly rather than
relying on the abstract configuration class. This has the advantage of
simplifying the auto-configuration and let it us proxy-free
configuration classes.

Spring Boot no longer uses or interacts with CouchbaseConfigurer. Users
relying on that to teach Spring Boot which components to use should
rely on `@Primary` flag instead in case of multiple beans of the same
type.

`CouchbaseConfiguration` is no longer public as extending from it is
no longer necessary. If the `CouchbaseEnvironment` has to be
customized, a `CouchbaseEnvironmentBuilderCustomizer` bean can be
registered to tune the auto-configured environment.

Closes gh-20533
2020-03-17 16:20:21 +01:00
Andy Wilkinson 4544785a4f Merge branch '2.2.x'
Closes gh-20544
2020-03-17 12:52:52 +00:00
Andy Wilkinson 566f79b086 Merge branch '2.1.x' into 2.2.x
Closes gh-20543
2020-03-17 12:50:45 +00:00
Andy Wilkinson b51c7386aa Fix detection of application home for paths containing spaces
Fixes gh-20531
2020-03-17 12:41:26 +00:00
Madhura Bhave fb8b531bfd Polish 2020-03-16 17:45:56 -07:00
Madhura Bhave 3e8ee2a296 Add missing package-info.json
Closes gh-20516
2020-03-16 16:11:02 -07:00
Madhura Bhave 84b2e8c308 Rename classes package to application
Closes gh-20526
2020-03-16 16:03:29 -07:00
Scott Frederick 3dea2201c4 Use Gradle's configuration avoidance API
Register Boot Gradle tasks instead of creating them so they can be
loaded lazily.

Closes gh-18881
2020-03-16 17:49:34 -05:00
Scott Frederick f2dadf5a87 Add support for customizing layers in Gradle
This commit adds configuration to the Spring Boot Gradle plugin that
allows the names and contents of layers to be customized in the build
configuration.

Fixes gh-20296
2020-03-16 17:27:32 -05:00
Andy Wilkinson c4a55a5fb4 Fail fast when attempting to repackage a reproducible war
Maven's war plugin does not support reproducible builds, resulting in
the entries in the war file not being written in a consistent order
from build to build.

Closes gh-20176
2020-03-16 20:29:37 +00:00
Andy Wilkinson ca202ad59f Support Maven's outputTimestamp when repackaging jars and wars
Closes gh-20176
2020-03-16 17:19:52 +00:00
dreis2211 5975e7bd8d Fix some deprecation warnings
See gh-20527
2020-03-15 16:33:47 +01:00
dreis2211 3e24df3beb Fix method order checkstyle issue
See gh-20525
2020-03-13 15:53:42 +00:00
Andy Wilkinson 0315724126 Cache endpoint responses on a per-principal basis
Previously, any HTTP request to an endpoint that included a principal
would bypass the cache. This prevented authenticated requests from
making use of the cache and its configurable time-to-live.

This commit updates the caching operation invoker to include the
principal, if any, in its cache key. As a result, requests that
include a principal will make use of the cache, potentially returning
the result of a previous invocation of the same endpoint by the same
principal.

Closes gh-19538
2020-03-13 15:31:41 +00:00
Andy Wilkinson ef9960c69f Allow additional tags to be contributed to WebMvc and WebFlux defaults
Closes gh-20175
2020-03-13 09:38:29 +00:00
Andy Wilkinson e7ece77a7c Upgrade to Undertow 2.0.30.Final
Closes gh-20514
2020-03-12 14:09:33 +00:00
Andy Wilkinson e28697eed8 Upgrade to Sun Mail 1.6.5
Closes gh-20513
2020-03-12 14:09:33 +00:00
Andy Wilkinson 38763a4e48 Upgrade to Maven Dependency Plugin 3.1.2
Closes gh-20512
2020-03-12 14:09:32 +00:00
Andy Wilkinson 2d9bfb9bdf Upgrade to Kafka 2.4.1
Closes gh-20511
2020-03-12 14:09:32 +00:00
Andy Wilkinson 6216dfbe5c Upgrade to Jakarta Mail 1.6.5
Closes gh-20510
2020-03-12 14:09:32 +00:00
Madhura Bhave e49e62df5c Add support for customizing layers in Maven
This commit adds an additional 'layers/configuration' property that can
be used to refer to a separate layers configuration file. This separate
file defines:

* The layers and their order of precedence,
* How libraries are handled using filters that match against the
coordinates of each library, and
* How classes are handled using filters that match against the location
of the entry

An XSD to validate the XML configuration file is available.

Closes gh-20295

Co-authored-by: Stephane Nicoll <snicoll@pivotal.io>
2020-03-12 14:50:08 +01:00
Andy Wilkinson 896d2c8579 Upgrade to Spring Integration 5.3.0.M3
Closes gh-20489
2020-03-12 09:28:48 +00:00
Andy Wilkinson 5446858535 Upgrade to Spring Kafka 2.4.4.RELEASE
Closes gh-20469
2020-03-11 19:08:03 +00:00
Andy Wilkinson 77dbe999b9 Polish "Add clearChecksums to Liquibase auto-configuration"
See gh-20417
2020-03-11 17:14:38 +00:00
ferengra a2680efadb Add clearCheckSums to Liquibase auto configuration
Liquibase auto configuration is extended with clearCheckSums to allow
to clear all checksums in the current changelog, so they will be
recalculated upon the next update.

See gh-20417
2020-03-11 17:11:43 +00:00
Andy Wilkinson 4fd8f376dc Merge branch '2.2.x'
Closes gh-20503
2020-03-11 14:02:49 +00:00
Andy Wilkinson 9fbb664db6 Avoid eager init when evaluating DevToolsDataSourceCondition
Previously, DevToolsDataSourceCondition called
getBeanNamesForType(Class) which could trigger unwanted initialization
of lazy init singletons and objects created by FactoryBeans.

This commit updates DevToolsDataSourceCondition to prohibit eager
init when getting the names of the beans of a particular type.

Fixes gh-20430
2020-03-11 14:02:16 +00:00
Andy Wilkinson 2f92261f97 Merge branch '2.2.x'
Closes gh-20502
2020-03-11 13:17:12 +00:00
Andy Wilkinson e937b2e0cd Merge branch '2.1.x' into 2.2.x
Closes gh-20501
2020-03-11 13:12:27 +00:00
Andy Wilkinson f251772e17 Fix behaviour of DependencyCustomizer ifAllResourcesPresent
Previously, DependencyCustomizer's ifAllResourcesPresent method
would return a customizer that added modules if any of the resources
were present. This commit corrects this behaviours so that modules are
only added if all resources are present.

Fixes gh-20418
2020-03-11 13:00:49 +00:00
Johnny Lim 8526e66939 Polish
See gh-20498
2020-03-11 12:17:58 +01:00
Stephane Nicoll 9370f21221 Upgrade to Spring Data Neumann-M4
Closes gh-20241
2020-03-11 11:13:44 +01:00
Andy Wilkinson 899efc9eba Merge branch '2.2.x'
The fix was applied as part of 308e1d36. This commit merges forwards
the test that was added in 2.1.x and 2.2.x.

Fixes gh-20386 in 2.2.0.M3.
2020-03-11 09:39:02 +00:00
Andy Wilkinson e1ce21c3a5 Merge branch '2.1.x' into 2.2.x
Closes gh-20499
2020-03-11 09:34:11 +00:00
Andy Wilkinson 2b2113714d Use getTomcatWebServer to create TomcatWebServer instance
TomcatReactiveWebServerFactory's getTomcatWebServer is described as
being a hook point the can be overrideden to return a different
TomcatWebServer or to apply additional processing to the Tomcat
server. Previously, this did not work as the method was not called
to create the TomcatWebServer instance. Instead, TomcatWebServer was
instantiated and returned directly.

This commit updates TomcatReactiveWebServerFactory to call
getTomcatWebServer to create the TomcatWebServer instance. A test
has also been added to verify that the method is now used.

Fixes gh-20386
2020-03-11 09:24:27 +00:00
Andy Wilkinson 4d371f0d88 Merge branch '2.2.x'
Closes gh-20491
2020-03-10 21:27:41 +00:00
Florian Dreier 76451d47b7 Update versiion of git-properties plugin shown in the docs
See gh-20436
2020-03-10 21:26:48 +00:00
Andy Wilkinson c917b61484 Reinstate leading / in default value for spring.liquibase.change-log
Unfortunately, while redundant for new applications, removing the
leading slash adversely affected existing application upon upgrades as
it caused Liquibase to re-apply every change log.

Closes gh-20177
2020-03-10 21:22:27 +00:00
dreis2211 589213daab Improve unused exclusion detection and remove those that are unused
See gh-20472
2020-03-10 20:36:00 +00:00
Andy Wilkinson e2518917f4 Tolerate different connection failure exception thrown on Java 11+
See gh-4657
2020-03-10 20:31:33 +00:00
Andy Wilkinson 29c6b9da5c Upgrade to Postgresql 42.2.11
Closes gh-20488
2020-03-10 20:09:53 +00:00
Andy Wilkinson c5674d80d2 Upgrade to Maven Source Plugin 3.2.1
Closes gh-20487
2020-03-10 20:09:52 +00:00
Andy Wilkinson 5117a6ac6f Upgrade to Maven Shade Plugin 3.2.2
Closes gh-20486
2020-03-10 20:09:51 +00:00
Andy Wilkinson d29ca237b5 Upgrade to Flatten Maven Plugin 1.2.1
Closes gh-20485
2020-03-10 20:09:49 +00:00
Andy Wilkinson 3fa6f04701 Upgrade to Build Helper Maven Plugin 3.1.0
Closes gh-20484
2020-03-10 20:09:48 +00:00
Andy Wilkinson de59586170 Reinstate spring-boot-dependencies' exclusion of jcl-over-slf4j
Closes gh-20441
2020-03-10 20:07:23 +00:00
Andy Wilkinson 8282c1b897 Upgrade to Spring Security 5.3.0.RELEASE
Closes gh-20482
2020-03-10 20:07:23 +00:00
Andy Wilkinson d50ac8d086 Upgrade to Reactor Bom Dysprosium-SR5
Closes gh-20481
2020-03-10 20:07:23 +00:00
Andy Wilkinson 156a67c640 Upgrade to Netty 4.1.47.Final
Closes gh-20480
2020-03-10 20:07:23 +00:00
Andy Wilkinson 6f1218494a Upgrade to Kotlin Coroutines 1.3.4
Closes gh-20479
2020-03-10 20:07:22 +00:00
Andy Wilkinson 3dc5a4e38f Upgrade to Jetty 9.4.27.v20200227
Closes gh-20476
2020-03-10 20:07:22 +00:00
Andy Wilkinson 849b23f71d Upgrade to Jersey 2.30.1
Closes gh-20475
2020-03-10 20:07:22 +00:00
Andy Wilkinson 2ec99e7b1c Upgrade to Jackson Bom 2.10.3
Closes gh-20474
2020-03-10 20:07:22 +00:00
Andy Wilkinson fe4297086b Upgrade to Dropwizard Metrics 4.1.5
Closes gh-20473
2020-03-10 20:07:22 +00:00
Andy Wilkinson 4a0b8bb5ba Start using Cassandra Driver's bom
Fixes gh-20441
2020-03-10 16:03:51 +00:00
Andy Wilkinson b63a7c4631 Upgrade to XmlUnit2 2.6.4
Closes gh-20471
2020-03-10 15:38:47 +00:00
Andy Wilkinson d8ce02e667 Upgrade to WebJars Locator Core 0.44
Closes gh-20470
2020-03-10 15:38:47 +00:00
Andy Wilkinson 485498c5ac Upgrade to Spring Kafka 2.4.3.RELEASE
Closes gh-20469
2020-03-10 15:38:47 +00:00
Andy Wilkinson 22fa5d257a Upgrade to Spring AMQP 2.2.5.RELEASE
Closes gh-20468
2020-03-10 15:38:47 +00:00
Andy Wilkinson 6087fd6b51 Upgrade to SnakeYAML 1.26
Closes gh-20467
2020-03-10 15:38:47 +00:00
Andy Wilkinson 662c08acd5 Upgrade to SendGrid 4.4.5
Closes gh-20466
2020-03-10 15:38:47 +00:00
Andy Wilkinson 97dd978a91 Upgrade to Selenium HtmlUnit 2.38.0
Closes gh-20465
2020-03-10 15:38:47 +00:00
Andy Wilkinson 2620be1e0f Upgrade to RxJava2 2.2.18
Closes gh-20464
2020-03-10 15:38:47 +00:00
Andy Wilkinson 742f584d60 Upgrade to OkHttp3 3.14.7
Closes gh-20463
2020-03-10 15:38:47 +00:00
Andy Wilkinson 3d435df37b Upgrade to Netty tcNative 2.0.29.Final
Closes gh-20462
2020-03-10 15:38:47 +00:00
Andy Wilkinson 2fa35fbcbc Upgrade to Neo4j OGM 3.2.9
Closes gh-20461
2020-03-10 15:38:46 +00:00
Andy Wilkinson 77ad8d3a4f Upgrade to MongoDB 4.0.0
Closes gh-20460
2020-03-10 15:38:46 +00:00
Andy Wilkinson c399323ac4 Upgrade to Mockito 3.3.0
Closes gh-20459
2020-03-10 15:38:46 +00:00
Andy Wilkinson ad1ef31977 Upgrade to Log4j2 2.13.1
Closes gh-20458
2020-03-10 15:38:46 +00:00
Andy Wilkinson fa68cc4ee5 Upgrade to Liquibase 3.8.7
Closes gh-20457
2020-03-10 15:38:46 +00:00
Andy Wilkinson f31e589b07 Upgrade to jOOQ 3.13.1
Closes gh-20456
2020-03-10 15:38:46 +00:00
Andy Wilkinson 02ae6458f7 Upgrade to Jetty Reactive HTTPClient 1.1.2
Closes gh-20455
2020-03-10 15:38:46 +00:00
Andy Wilkinson 295f063463 Upgrade to Janino 3.1.1
Closes gh-20454
2020-03-10 15:38:46 +00:00
Andy Wilkinson a45cb3d712 Upgrade to Jakarta XML WS 2.3.3
Closes gh-20453
2020-03-10 15:38:46 +00:00
Andy Wilkinson f910fd8ac8 Upgrade to Jakarta XML Bind 2.3.3
Closes gh-20452
2020-03-10 15:38:46 +00:00
Andy Wilkinson e61dcc38d7 Upgrade to Jakarta Activation 1.2.2
Closes gh-20451
2020-03-10 15:38:46 +00:00
Andy Wilkinson 911a1912f6 Upgrade to Infinispan 10.1.3.Final
Closes gh-20450
2020-03-10 15:38:46 +00:00
Andy Wilkinson 8ac97d6d3e Upgrade to HttpClient 4.5.12
Closes gh-20449
2020-03-10 15:38:45 +00:00
Andy Wilkinson ee3ff3e094 Upgrade to HtmlUnit 2.38.0
Closes gh-20448
2020-03-10 15:38:45 +00:00
Andy Wilkinson 3251c9d2b0 Upgrade to Hibernate 5.4.12.Final
Closes gh-20447
2020-03-10 15:38:45 +00:00
Andy Wilkinson 2a8136b56f Upgrade to FreeMarker 2.3.30
Closes gh-20446
2020-03-10 15:38:45 +00:00
Andy Wilkinson d2ebd77861 Upgrade to Flyway 6.3.0
Closes gh-20445
2020-03-10 15:38:45 +00:00
Andy Wilkinson 0cd8197ebf Upgrade to Couchbase Client 2.7.13
Closes gh-20444
2020-03-10 14:23:46 +00:00
Andy Wilkinson 7971bd50ba Upgrade to Cassandra Driver 4.5.0
Closes gh-20443
2020-03-10 14:23:44 +00:00
Andy Wilkinson 707fb929a2 Upgrade to Byte Buddy 1.10.8
Closes gh-20442
2020-03-10 14:23:42 +00:00
Andy Wilkinson 19cc388861 Test Tomcat's handling of a request on an idle connection
See gh-4657
2020-03-10 12:51:32 +00:00
Andy Wilkinson b8cb61bbe0 Align embedded Jetty's graceful shutdown behaviour with standalone
Standalone Jetty will, by default, include a Connection: close header
in all responses once graceful shutdown has begun. Previously, the
way in which we were shutting Jetty down did not cause this to happen.

This commit updates JettyGracefulShutdown to shut down each connector.
This causes Jetty to send the Connection: close header, aligning its
behaviour more closely with what it does when used standalone. The
tests have also been updated to verify this behaviour and to ensure
that the correct port is used for requests even once the connector is
no longer bound and the web server no longer knows its ephemeral port.

See gh-4657
2020-03-10 12:30:25 +00:00
Andy Wilkinson 5bb66e1b85 Try to make reactive Jetty connect after shutdown test more robust
See gh-4657
2020-03-10 08:37:29 +00:00
Madhura Bhave fd50a6755f Merge branch '2.2.x'
Closes gh-20433
2020-03-09 16:08:08 -07:00
Madhura Bhave a27e145f03 Merge branch '2.1.x' into 2.2.x
Closes gh-20432
2020-03-09 16:06:47 -07:00
Madhura Bhave 06d870bdd0 Do not wrap CF JSON Keys containing special characters
This reverts commit 6828a15d31.
The commit has been reverted as it breaks backwards compatiblity.

Fixes gh-20343
2020-03-09 15:56:48 -07:00