Commit Graph

15786 Commits (38c0ce4b87ba430416b5a8c639688e8e4b54e26a)

Author SHA1 Message Date
Brian Clozel b7de02d908 Fix build after Spring GraphQL changes
See pring-projects/spring-graphql#229
3 years ago
Stephane Nicoll 8ec8268a77 Merge branch '2.7.x' 3 years ago
Stephane Nicoll c02faea9c9 Allow WebMvcFilter to be overridden by user configuration
Closes gh-28428
3 years ago
Stephane Nicoll 0af6761993 Merge branch '2.7.x' 3 years ago
Stephane Nicoll 270e162479 Stop aliasing MariaDB to MySQL
Closes gh-28728
3 years ago
Brian Clozel b17412eb38 Fix Auto-configured Spring GraphQL Tests docs
Prior to this change, the reference docs would point to "spring-webflux"
as the required additional testing dependency to get
`WebGraphQlTester` support in Spring Boot tests.

While this is enough for `WebEnvironment.MOCK` tests, we need an actual
HTTP client for `WebEnvironment.RANDOM_PORT` tests. This commit amends
this part of the documentation to recommend the
"spring-boot-starter-webflux" dependency in all cases.

Fixes gh-29250
3 years ago
Stephane Nicoll 5f67546534 Adapt to latest API change in SD Elasticsearch
See gh-29292
3 years ago
Stephane Nicoll f8aa8a9742 Remove unnecessary exclude
See gh-29292
3 years ago
Stephane Nicoll 0f93c6c475 Start building against Spring Integration 5.5.8 snapshots
See gh-29286
3 years ago
Stephane Nicoll 0412e86a4f Start building against Spring LDAP 2.4.0-M1 snapshots
See gh-29222
3 years ago
Stephane Nicoll 066bfb3635 Start building against Spring Kafka 2.8.2 snapshots
See gh-29224
3 years ago
Stephane Nicoll 6cbc0e7ac5 Start building against Spring AMQP 2.4.2 snapshots
See gh-29284
3 years ago
Stephane Nicoll 6e27448744 Start building against Micrometer 1.9.0-M2 snapshots
See gh-29282
3 years ago
Stephane Nicoll 9e27bddfc7 Start building against Spring Data 2021.2.0-M1 snapshots
This commit also upgrades to Elasticsearch 7.16.2

See gh-29223
See gh-29292
3 years ago
Stephane Nicoll 3d927a093d Start building against Spring HATEOAS 1.4.1 snapshots
See gh-29283
3 years ago
Stephane Nicoll cad11addb2 Merge branch '2.7.x' 3 years ago
Stephane Nicoll 980aa616c8 Fix build failure
See gh-29290
3 years ago
Andy Wilkinson 894f83fb13 Upgrade to Artemis 2.20.0 and switch to Jakarta EE 9 JMS API
Closes gh-29203
3 years ago
Andy Wilkinson 89e79e826e Reinstate support for Apache Artemis
See gh-29203
3 years ago
Stephane Nicoll 9392ff59f7 Merge branch '2.7.x' 3 years ago
Stephane Nicoll 7afae4aad9 Start building against Reactor 2020.0.15 snapshots
See gh-29280
3 years ago
Stephane Nicoll a9d8befe72 Fix build failures
See gh-29290
3 years ago
Andy Wilkinson eba2c8c8fe Merge branch '2.7.x' 3 years ago
Andy Wilkinson 94fa50af1c Polish 3 years ago
Stephane Nicoll 11e604af41 Merge branch '2.7.x' 3 years ago
Stephane Nicoll 9821cdfd8b Remove deprecated code
Closes gh-29290
3 years ago
Stephane Nicoll aec6c1ed92 Merge branch '2.7.x' 3 years ago
Stephane Nicoll c62aa0deab Remove support for Hazelcast 3
Closes gh-29287
3 years ago
Stephane Nicoll 164c2f7164 Polish
See gh-29265
3 years ago
Andy Wilkinson 9a05eb63c4 Use built-in basic auth support as it no longer requires JAX-B
Closes gh-28829
3 years ago
Andy Wilkinson 29c654530c Upgrade to Prometheus Client 0.14.1
Closes gh-29288
3 years ago
Stephane Nicoll 025fe4fd43 Merge branch '2.7.x' 3 years ago
Stephane Nicoll 69d1c3674a Upgrade to latest Hazelcast 3.x in integration tests 3 years ago
Stephane Nicoll a780e87e9c Upgrade to Hazelcast 5.0.2
See gh-29265
3 years ago
Andy Wilkinson 35b32bb3ff Update Javadoc to link to Java SE 17 and Jakarta EE 9
Closes gh-29277
3 years ago
Andy Wilkinson c2e86096cd Reinstate support for jOOQ as it now supports Jakarta EE 9
Closes gh-29271
3 years ago
Andy Wilkinson ccc924b908 Merge branch '2.7.x' 3 years ago
Andy Wilkinson 508d0af453 Merge branch '2.6.x' into 2.7.x
Closes gh-29269
3 years ago
Andy Wilkinson a6d8ff4677 Merge branch '2.5.x' into 2.6.x
Closes gh-29268
3 years ago
Andy Wilkinson 41b01cc289 Only write parent entries when entry is new
Previously, when writing a repackaged jar, an attempt to write all of
an entry's parent directories would always be made, irrespective of
whether or not the entry itself had already been written. This was
inefficient as, due to the way that the jar is written, once an entry
itself has been written, we know that all of its parent directories
will also have been written.

This commit updates the jar writer so that no attempt is made to
write parent directory entries if the entry itself has already been
written.

Fixes gh-29175
3 years ago
Stephane Nicoll bc273d6327 Merge branch '2.7.x' 3 years ago
Stephane Nicoll 8b0ea24ac2 Upgrade to Kotlin Coroutines 1.6.0
Closes gh-29264
3 years ago
Stephane Nicoll fed89f98aa Merge branch '2.7.x' 3 years ago
Stephane Nicoll ce7a3d0ef2 Upgrade to Flyway 8.3.0
Closes gh-29249
3 years ago
Stephane Nicoll 73b7b147a1 Merge branch '2.7.x' 3 years ago
Stephane Nicoll dda46fbe2b Upgrade to Liquibase 4.6.2
Closes gh-29257
3 years ago
Phillip Webb 06398eabed Merge branch '2.7.x' 3 years ago
Phillip Webb b25e92f3e2 Merge branch '2.6.x' into 2.7.x 3 years ago
Phillip Webb 99a683dffb Merge branch '2.5.x' into 2.6.x 3 years ago
Phillip Webb 9a6f35cd8e Update copyright year of changed files 3 years ago
Phillip Webb 760dcffd8b Merge branch '2.7.x' 3 years ago
Phillip Webb f09bde2b60 Merge branch '2.6.x' into 2.7.x 3 years ago
Phillip Webb 81266ca806 Merge branch '2.5.x' into 2.6.x 3 years ago
Phillip Webb 0fcdab3936 Update copyright year of changed files 3 years ago
Phillip Webb dc054943bf Merge branch '2.7.x'
Closes gh-29262
3 years ago
Phillip Webb c839ebbce4 Merge branch '2.6.x' into 2.7.x
Closes gh-29261
3 years ago
Phillip Webb 8e583f6f73 Apply exclusion rules to child contributors
Update `IncludeExcludeGroupMemberPredicate` so that exclusion rules are
also applied to child contributors. The restores the behavior of Spring
Boot 2.5.x where `management.endpoint.health.group.mygroup.exclude=db`
would exclude 'db/one', 'db/two' etc.

Fixes gh-29251
3 years ago
Andy Wilkinson 1dbfcf8b57 Reinstate support for Spring Data Couchbase
Closes gh-28976
3 years ago
Stephane Nicoll e5cab660cb Upgrade to Infinispan 13.0.5.Final
Closes gh-29256
3 years ago
Stephane Nicoll b214841e2c Merge branch '2.7.x' 3 years ago
Stephane Nicoll 605ec2fb0e Polish "Add vendor version to JavaInfo"
See gh-29090
3 years ago
Jonatan Ivanov c6e6d109ad Add vendor version to JavaInfo
See gh-29090
3 years ago
Stephane Nicoll 9bfe3c21e5 Merge branch '2.7.x' 3 years ago
Stephane Nicoll 4799d2a71a Polish "Add transactionIdPrefix Property to KafkaTemplate"
See gh-29089
3 years ago
Gary Russell 33814a4a42 Add transactionIdPrefix Property to KafkaTemplate
See gh-29089
3 years ago
Stephane Nicoll e2f274f01d Merge branch '2.7.x' 3 years ago
Stephane Nicoll 9b34c31916 Polish "Include AbstractJdbcConfiguration beans in @DataJdbcTest"
See gh-29003
3 years ago
raviu 7f8dd81947 Include AbstractJdbcConfiguration beans in @DataJdbcTest
See gh-29003
3 years ago
Stephane Nicoll e87b4cfb5b Merge branch '2.7.x' 3 years ago
Stephane Nicoll c943ef18ca Polish "Add principal resolution in RSocket handler methods"
See gh-28444
3 years ago
Guirong Hu cf05964499 Add principal resolution in RSocket handler methods
See gh-28444
3 years ago
Stephane Nicoll abb622023d Merge branch '2.7.x' 3 years ago
Stephane Nicoll d24720d958 Polish "Expose OS information as an InfoContributor"
See gh-28907
3 years ago
Jonatan Ivanov c700f686c6 Expose OS information as an InfoContributor
See gh-28907
3 years ago
Stephane Nicoll 4442f91f63 Merge branch '2.7.x' 3 years ago
Stephane Nicoll 076ddc8579 Polish "Add server.netty.max-keep-alive-requests"
See gh-28875
3 years ago
Leo Li 0e94b2ce6e Add server.netty.max-keep-alive-requests
See gh-28875
3 years ago
Stephane Nicoll 8cb6a79e60 Merge branch '2.7.x' 3 years ago
Stephane Nicoll 578855f512 Restore support for Hazelcast 3
See gh-28801
3 years ago
Stephane Nicoll 64062adf0d Merge branch '2.7.x' 3 years ago
Stephane Nicoll e1a5be83d2 Polish "Inject SpringManagedContext into Hazelcast configuration"
See gh-28801
3 years ago
Jaromir Hamala b875b55711 Inject SpringManagedContext into Hazelcast configuration
This commit makes it possible to inject Spring managed beans into
objects instantiated by Hazelcast.

See gh-28801
3 years ago
Stephane Nicoll e378705383 Merge branch '2.7.x' 3 years ago
Stephane Nicoll f26bee1196 Polish "Upgrade to Embedded Mongo 3.2.5"
See gh-28543
3 years ago
Julien Herr 679231c120 Upgrade to Embedded Mongo 3.2.5
See gh-28543
3 years ago
Brian Clozel c5817f21eb Add property for disabling GraphQL schema introspection
Prior to this commit, the GraphQL schema assembled by the
auto-configuration would provide no option for disabling the field
introspection.

While this feature is essential for many tools (including GraphiQL),
some prefer disabling it because this allows clients to gather
information about types and schema easily. This commit introduces a new
`spring.graphql.schema.introspection.enabled` configuration property.

Because potential attackers can still gather this information and this
feature is a core concern in the GraphQL spec, introspection is enabled
by default for Spring Boot applications.

Closes gh-29248
3 years ago
izeye 728206dba0 Polish GraphQL changes
See gh-29140
Closes gh-29194
3 years ago
Brian Clozel 0d616b8924 Fix WebGraphQlTester auto-registration for SpringBootTest
Prior to this commit, the `GraphQlTesterContextCustomizer` would
register a `WebGraphQlTester` instance as a `GraphQlTester` bean., only
exposing the `GraphQlTester` type. This is not in line with the
documentation and also does not register the bean definition with the
most specific type.
With this issue, a `@SpringBootTest` integration test will not be
injected with a `WebGraphQlTester` if it asks one.

This commit ensures that the `WebGraphQlTester` is registered as such
and that all related classes are renamed as a result.

Fixes gh-29250
3 years ago
Stephane Nicoll 09a71e5047 Merge branch '2.7.x' 3 years ago
Stephane Nicoll b81c0047f8 Polish "Log the reason that led Devtools to restart the app"
See gh-28495
3 years ago
Artur Signell 0769b33e2e Log the reason that led Devtools to restart the app
See gh-28495
3 years ago
Stephane Nicoll 8b21c71fd6 Merge branch '2.7.x' 3 years ago
Stephane Nicoll 91d7295c62 Polish "Add support for IdlePartitionEventInterval"
See gh-28290
3 years ago
Pascal Ayotte 9274baeb68 Add support for IdlePartitionEventInterval
See gh-28290
3 years ago
Stephane Nicoll 5864c300e0 Merge branch '2.7.x' 3 years ago
Stephane Nicoll 6b6da22f2c Polish "Add support for RabbitStreamTemplate"
See gh-28060
3 years ago
Eddú Meléndez 3952046132 Add support for RabbitStreamTemplate
See gh-28060
3 years ago
Stephane Nicoll cd0bb8e68f Upgrade to XmlUnit2 2.8.4
Closes gh-29247
3 years ago
Stephane Nicoll 67f8b0484d Upgrade to Undertow 2.2.14.Final
Closes gh-29246
3 years ago
Stephane Nicoll 714c1cc642 Upgrade to Thymeleaf 3.0.14.RELEASE
Closes gh-29244
3 years ago
Stephane Nicoll 0d8fc234b5 Upgrade to Spring WS 3.1.2
Closes gh-29243
3 years ago
Stephane Nicoll 0106e35b61 Upgrade to Spring Integration 5.5.7
Closes gh-29242
3 years ago
Stephane Nicoll 7890919958 Upgrade to Spring AMQP 2.4.1
Closes gh-29241
3 years ago
Stephane Nicoll ec0dd5bf33 Upgrade to SnakeYAML 1.30
Closes gh-29240
3 years ago
Stephane Nicoll b76691a4b0 Upgrade to SendGrid 4.8.1
Closes gh-29239
3 years ago
Stephane Nicoll 7a016a68f1 Upgrade to Selenium HtmlUnit 3.56.0
Closes gh-29238
3 years ago
Stephane Nicoll a2bed160f0 Upgrade to Selenium 4.1.1
Closes gh-29237
3 years ago
Stephane Nicoll 017d3dc402 Upgrade to Reactor Bom 2020.0.14
Closes gh-29236
3 years ago
Stephane Nicoll ddc7da7766 Upgrade to Rabbit AMQP Client 5.14.0
Closes gh-29235
3 years ago
Stephane Nicoll 2c322b67f1 Upgrade to Prometheus Client 0.14.1
Closes gh-29234
3 years ago
Stephane Nicoll 86a426035d Upgrade to Oracle Database 21.4.0.0.1
Closes gh-29233
3 years ago
Stephane Nicoll 2c82b18f3f Upgrade to Netty 4.1.72.Final
Closes gh-29232
3 years ago
Stephane Nicoll 61a65c0a93 Upgrade to MSSQL JDBC 9.4.1.jre8
Closes gh-29231
3 years ago
Stephane Nicoll df1a9b848b Upgrade to Mockito 4.2.0
Closes gh-29230
3 years ago
Stephane Nicoll 765c81c2f0 Upgrade to Logback 1.2.10
Closes gh-29229
3 years ago
Stephane Nicoll 179414c7f3 Upgrade to JUnit Jupiter 5.8.2
Closes gh-29227
3 years ago
Stephane Nicoll 78873706cf Upgrade to JDOM2 2.0.6.1
Closes gh-29221
3 years ago
Stephane Nicoll de22f47541 Upgrade to Jaybird 4.0.5.java8
Closes gh-29220
3 years ago
Stephane Nicoll 23a1dc9938 Upgrade to Jackson Bom 2.13.1
Closes gh-29219
3 years ago
Stephane Nicoll 18df80df17 Upgrade to HttpCore5 5.1.3
Closes gh-29218
3 years ago
Stephane Nicoll 46f17d8a50 Upgrade to HttpCore 4.4.15
Closes gh-29217
3 years ago
Stephane Nicoll 5a641fd50e Upgrade to HttpAsyncClient 4.1.5
Closes gh-29216
3 years ago
Stephane Nicoll 8da7be8e32 Upgrade to HtmlUnit 2.56.0
Closes gh-29215
3 years ago
Stephane Nicoll 464ea36ef5 Upgrade to Hibernate 5.6.3.Final
Closes gh-29214
3 years ago
Stephane Nicoll 9e443d772f Upgrade to Hazelcast 4.2.4
Closes gh-29213
3 years ago
Stephane Nicoll f354c4dac4 Upgrade to Ehcache3 3.9.9
Closes gh-29210
3 years ago
Stephane Nicoll a79a497f13 Upgrade to Dropwizard Metrics 4.2.7
Closes gh-29209
3 years ago
Stephane Nicoll 607508945c Upgrade to DB2 JDBC 11.5.7.0
Closes gh-29208
3 years ago
Stephane Nicoll e4c7251d23 Upgrade to Couchbase Client 3.2.4
Closes gh-29207
3 years ago
Stephane Nicoll 91ac6008e0 Upgrade to Caffeine 2.9.3
Closes gh-29206
3 years ago
Stephane Nicoll 2ac9381be4 Upgrade to Byte Buddy 1.12.6
Closes gh-29205
3 years ago
Stephane Nicoll 8a440b02a6 Upgrade to AssertJ 3.22.0
Closes gh-29204
3 years ago
Stephane Nicoll ecf620fb01 Prevent upgrade to Artemis 2.20.0+
See gh-29203
3 years ago
Stephane Nicoll e3b36b4c7e Upgrade to AppEngine SDK 1.9.93
Closes gh-29202
3 years ago
Stephane Nicoll dea7e34699 Switch bomr to any policy 3 years ago
Stephane Nicoll e10b582a09 Merge branch '2.7.x' 3 years ago
Stephane Nicoll a20f959fbc Merge branch '2.6.x' into 2.7.x 3 years ago
Stephane Nicoll c469c41127 Merge branch '2.5.x' into 2.6.x 3 years ago
Stephane Nicoll 04ce0e65cd Polish assertion 3 years ago
Stephane Nicoll 3ef03cddb9 Merge branch '2.7.x' 3 years ago
Stephane Nicoll 9c868751d6 Merge branch '2.6.x' into 2.7.x
Closes gh-29199
3 years ago
Stephane Nicoll f54ea67ed6 Merge branch '2.5.x' into 2.6.x
Closes gh-29198
3 years ago
dreis2211 7a87d18b12 Update copyrights to 2022
See gh-29195
3 years ago
Stephane Nicoll b94fcd1ad7 Merge branch '2.7.x' 3 years ago
Stephane Nicoll de947e0800 Merge branch '2.6.x' into 2.7.x
Closes gh-29190
3 years ago
izeye d234681348 Fix default value for management.info.env.enabled in metadata
See gh-29187
3 years ago
Stephane Nicoll 637924aee1 Upgrade to Log4j2 2.17.1
Closes gh-29186
3 years ago
Stephane Nicoll a85772be3f Upgrade to Log4j2 2.17.1
Closes gh-29185
3 years ago
Stephane Nicoll b345dddec0 Upgrade to Log4j2 2.17.1
Closes gh-29184
3 years ago
Stephane Nicoll 4b6aa81687 Upgrade to Log4j2 2.17.1
Closes gh-29183
3 years ago
Stephane Nicoll 09486b8fc7 Merge branch '2.7.x' 3 years ago
Stephane Nicoll 2b140950e3 Merge branch '2.6.x' into 2.7.x
Closes gh-29176
3 years ago
izeye 7fbb5749d1 Polish
See gh-29157
3 years ago
Stephane Nicoll eb81cbf053 Merge branch '2.6.x' into 2.7.x
Closes gh-29173
3 years ago
Stephane Nicoll 8ee0640cc0 Merge branch '2.5.x' into 2.6.x
Closes gh-29172
3 years ago
izeye 9a6c1c531d Test our Gradle plugin against Gradle 7.3.3
See gh-29161
3 years ago
Stephane Nicoll 61c978e835 Upgrade to Spring Integration 5.5.7
Closes gh-28975
3 years ago
Stephane Nicoll 369046c37d Upgrade to Spring Integration 5.5.7
Closes gh-28966
3 years ago
Stephane Nicoll c7487749de Upgrade to Spring Session 2021.1.1
Closes gh-28974
3 years ago
Stephane Nicoll 2e67645fd5 Upgrade to Hazelcast 4.2.4
Closes gh-29146
3 years ago
Stephane Nicoll f3621702fb Upgrade to Hazelcast 4.1.8
Closes gh-29145
3 years ago
Stephane Nicoll a6350f2307 Upgrade to Spring Session 2021.0.4
Closes gh-28965
3 years ago
Brian Clozel 88ee4fab36 Polish
See gh-29140
3 years ago
Stephane Nicoll b1ab3b8898 Revert "Upgrade to Spring Kafka 2.7.10"
See gh-29114
3 years ago
Stephane Nicoll 669710efe0 Upgrade to Spring Security 5.6.1
Closes gh-28973
3 years ago
Stephane Nicoll af77ee007a Upgrade to Spring Kafka 2.8.1
Closes gh-29017
3 years ago
Stephane Nicoll 66c43685f5 Upgrade to Spring AMQP 2.4.1
Closes gh-28995
3 years ago
Brian Clozel f61c87c3a7 Revert "Merge branch '2.7.x'"
This reverts commit f0677a119c, reversing
changes made to 938d58f32c.
3 years ago
Stephane Nicoll 44a9145bf8 Upgrade to Spring Security 5.5.4
Closes gh-28964
3 years ago
Brian Clozel f0677a119c Merge branch '2.7.x' 3 years ago
Stephane Nicoll 6f8e1166c6 Upgrade to Spring Kafka 2.7.10
Closes gh-29114
3 years ago
Stephane Nicoll b2c2e6d0ca Upgrade to Spring AMQP 2.3.13
Closes gh-28994
3 years ago
Brian Clozel 22706057f0 Document Spring GraphQL support
This commit documents all the features added in the previous commits:
from the main infrastructure support, to testing and metrics.

See gh-29140
3 years ago
Brian Clozel d5603f2c98 Add GraphQL Spring Boot starter
This new starter brings the following dependencies:

* the base starter
* the JSON starter
* the Spring GraphQL dependency

See gh-29140
3 years ago
Brian Clozel 8e29eac887 Auto-configure GraphQL metrics
This commit auto-configures the metrics infrastructure for Spring
GraphQL.

See gh-29140
3 years ago
Brian Clozel a7839bc9b9 Add Metrics support for Spring GraphQL
This commit adds the required infrastructure for instrumenting the
GraphQL engine and datafetchers in order to collect metrics.

With this infrastructure, we can collect metrics such as:

* "graphql.request", a timer for GraphQL query
* "graphql.datafetcher", a timer for GraphQL datafetcher calls
* "graphql.request.datafetch.count", a distribution summary of
  datafetcher count per query
* "graphql.error", an error counter

See gh-29140
3 years ago
Brian Clozel a34308e5f7 Add GraphQlTest slice
This commit adds the `@GraphQlTest` annotation which brings a new type
of sliced test for GraphQL applications. This considers all the required
infrastructure brought by `@AutoConfigureGraphQl`, but also brings
application components like `@Controller` beans and
`RuntimeWiringConfigurer`.

With this type of test, we'll only initialize a minimal setup for
testing a set of Controllers, without involving any transport-related
component.

See gh-29140
3 years ago
Brian Clozel c0707e4f5b Auto-configure GraphQlTester
This commit adds the required infrastructure to auto-configure a
`GraphQlTester` or `WebGraphQlTester` in Spring Boot tests.
Specific annotations like `AutoConfigureGraphQlTester` and
`AutoConfigureWebGraphQlTester` will contribute pre-configured beans for
testing a GraphQL with the tester.

This also ships a `ContextCustomize` for contributing a `GraphQlTester`
in the case of a full `@SpringBootTest` integration test against a live
server.

See gh-29140
3 years ago
Brian Clozel 9a92a9c91d Add AutoConfigureGraphQl test annotation
This commit adds the `@AutoConfigureGraphQl` test annotation. It can be
used to import the relevant auto-configurations when testing a GraphQL
application.
Currently, it will get the main `GraphQlAutoConfiguration`, but also
what's required for configuring codecs and validation support.

See gh-29140
3 years ago
Brian Clozel 6dbcd0e95e Auto-configure security for Spring GraphQL
This commit configures security features for Spring GraphQL.
In the case of both MVC and WebFlux, this contributes
`DataFetcherExceptionResolver` instances to resolve security exceptions
and expose them as proper errors in the GraphQL response.

For MVC only, this also configures a
`SecurityContextThreadLocalAccessor`. This component ensures that the
security context is propagated between `ThreadLocal` and the Reactor
asynchronous execution.

See gh-29140
3 years ago
Brian Clozel 9954b4c63e Auto-configure Query* support for GraphQL
This commit auto-configures Spring Data Querydsl and QueryByExample
support for Spring GraphQL.

See gh-29140
3 years ago
Brian Clozel ce6747ccd6 Enable GraphiQL UI by default with Devtools
GraphiQL is useful when working on a GraphQL API - it allows
developers to craft queries and test newly developed feature. This
is not enabled by default, as this should not be exposed in production
without the developer's knowledge.

This commit flips this value when Spring Boot devtools is active for a
better developer experience.

See gh-29140
3 years ago
Brian Clozel 6ef1ed0dd0 Auto-configure GraphQL WebSocket endpoint
This commit auto-configures a GraphQL WebSocket endpoint for both Spring
MVC and Spring WebFlux. This is only enabled if the required libraries
are on the classpath and if the `"spring.graphql.websocket.path"`
property is defined.

See gh-29140
3 years ago
Brian Clozel 4ef9b9e3e5 Auto-configure CORS options for GraphQL web endpoints
This commit adds `"spring.graphql.cors.*"` configuration properties to
customize the CORS configuration for GraphQL web endpoints.

See gh-29140
3 years ago
Brian Clozel 0099460155 Auto-configure graphiql endpoint
Spring GraphQL ships with a static version of the graphiql IDE for
exploring and querying GraphQL endpoints.
See https://github.com/graphql/graphiql for more information.

This commit auto-configures the GraphiQL handler for both MVC and
WebFlux and points GraphiQL to the GraphQL HTTP endpoint exposed by the
application. This feature is disabled by default and can be switched on
with "spring.graphql.graphiql.enabled=true".

See gh-29140
3 years ago
Brian Clozel ff9a421786 Auto-configure schema printer endpoint
This commit configuresa new endpoint for printing in text format the
resolved GraphQL schema.
This endpoint is exposed by default under "/graphql/schema" and must be
enabled with "spring.graphql.schema.printer=true".

See gh-29140
3 years ago
Brian Clozel b38d04556e Auto-configure HTTP transport for MVC and WebFlux
This commit adds two new auto-configuration classes for Spring GraphQL
support. Once the base GraphQL infrastructure is in place, we can now
expose the `GraphQlService` over an HTTP transport.

Spring GraphQL supports both MVC and WebFlux, so this commit ships with
one auto-configuration for each.
Developers can configure the HTTP path where the GraphQL resource is
exposed using the `spring.graphql.path` configuration property (this
defaults to `"/graphql"`).

See gh-29140
3 years ago
Brian Clozel 5cf0a4db94 Add FailureAnalyzer for InvalidSchemaLocationsException
This commit adds a new `FailureAnalyzer` for exceptions thrown when no
GraphQL schema file could be found.
This lists configured locations (with `"classpath:..."` notation) and
also resolved locations - this helps developers figure out how the
pattern are resolved and why schema files cannot be found.

See gh-29140
3 years ago
Brian Clozel de808834f5 Auto-configure Spring GraphQL base infrastructure
This commit adds the auto-configuration for setting up the base Spring
GraphQL infrastructure. Because GraphQL doesn't depend on any particular
transport, we must have a separate configuration for creating:

* the `GraphQlSource`, which holds the schema and the `GraphQL` instance
* the `GraphQlService` for executing incoming requests
* the `BatchLoaderRegistry` for batch loading support
* the `AnnotatedControllerConfigurer` for supporting the annotated
  controllers programming model

This comes with a starting point for the `"spring.graphql.*"`
configuration properties; we can now configure the locations and file
extensions of GraphQL schema files we should load and configure at
startup.

See gh-29140
3 years ago
Brian Clozel e5e157528b Add dependency management for Spring GraphQL
This commit adds dependency management in Spring Boot for Spring GraphQL
and GraphQL Java.

See gh-29140
3 years ago
Scott Frederick 938d58f32c Merge branch '2.7.x' 3 years ago
Scott Frederick 29ad84714a Merge branch '2.6.x' into 2.7.x
Closes gh-29144
3 years ago
Scott Frederick b3a304fbe7 Merge branch '2.5.x' into 2.6.x
Closes gh-29143
3 years ago
Scott Frederick e4b0575a12 Do not consider bridge methods when binding java bean properties
Fixes gh-28917
3 years ago
Madhura Bhave 9f47c4a7e0 Merge branch '2.7.x' into main 3 years ago
Madhura Bhave ad45e76b1b Merge branch '2.6.x' into 2.7.x
Closes gh-29139
3 years ago
Madhura Bhave 84f1a6ca09 Merge branch '2.5.x' into 2.6.x
Closes gh-29138
3 years ago
Madhura Bhave 99e650bd27 Document devtools remote support not available with WebFlux
Closes gh-28955
3 years ago
Stephane Nicoll d271e76b48 Merge branch '2.7.x' 3 years ago
Stephane Nicoll 83d732823d Merge branch '2.6.x' into 2.7.x
Closes gh-29136
3 years ago
Stephane Nicoll 653fdbd0a4 Configure comment prefixes
Closes gh-29095
3 years ago
Stephane Nicoll 409f4fdbd7 Merge branch '2.7.x' 3 years ago
Stephane Nicoll dea15a1103 Merge branch '2.6.x' into 2.7.x
Closes gh-29134
3 years ago
Stephane Nicoll 53654a0160 Merge branch '2.5.x' into 2.6.x
Closes gh-29133
3 years ago
Pavel Anisimov b704ee0b30 Polish reference doc
See gh-29115
3 years ago
Stephane Nicoll fd32ff3a51 Upgrade to XmlUnit2 2.8.4
Closes gh-29131
3 years ago
Stephane Nicoll fbb7f12f43 Upgrade to XmlUnit2 2.8.4
Closes gh-29123
3 years ago
Stephane Nicoll 64a5415edc Upgrade to Jackson Bom 2.13.1
Closes gh-29129
3 years ago
Stephane Nicoll d9a970a8e2 Upgrade to Infinispan 12.1.10.Final
Closes gh-29128
3 years ago
Stephane Nicoll a8fc4e9351 Upgrade to Hibernate 5.6.3.Final
Closes gh-29127
3 years ago
Stephane Nicoll 07c8ab2236 Upgrade to Ehcache3 3.9.9
Closes gh-29126
3 years ago
Stephane Nicoll 9ec44d80cf Upgrade to Dropwizard Metrics 4.2.7
Closes gh-29125
3 years ago
Stephane Nicoll 177fd6c539 Upgrade to DB2 JDBC 11.5.7.0
Closes gh-29124
3 years ago
Stephane Nicoll 620c6ec275 Upgrade to Infinispan 12.1.10.Final
Closes gh-29121
3 years ago
Stephane Nicoll d0cd7dcf60 Upgrade to Hibernate 5.4.33
Closes gh-29120
3 years ago
Stephane Nicoll cb81801907 Upgrade to Ehcache3 3.9.9
Closes gh-29119
3 years ago
Stephane Nicoll d8d97df34a Upgrade to Dropwizard Metrics 4.1.29
Closes gh-29118
3 years ago
Stephane Nicoll 8306287158 Upgrade to DB2 JDBC 11.5.7.0
Closes gh-29117
3 years ago
Stephane Nicoll bb1a1a0622 Upgrade to Spring LDAP 2.3.5
Closes gh-28972
3 years ago
Stephane Nicoll f619d66244 Upgrade to Spring LDAP 2.3.5
Closes gh-28963
3 years ago
Stephane Nicoll aab30b13b3 Start building against Spring Kafka 2.7.10 snapshots
See gh-29114
3 years ago
Stephane Nicoll 2d7e478a55 Merge branch '2.7.x' 3 years ago
Stephane Nicoll 4fa0e87ba1 Merge branch '2.6.x' into 2.7.x 3 years ago
Stephane Nicoll efa93506e6 Fix checkstyle violations 3 years ago
Stephane Nicoll d728159b32 Upgrade to Log4j2 2.17.0
Closes gh-28986
3 years ago
Stephane Nicoll 84ef1f7c21 Upgrade to Log4j2 2.17.0
Closes gh-28985
3 years ago
Stephane Nicoll 012fbdd43d Upgrade to Log4j2 2.17.0
Closes gh-28984
3 years ago
Stephane Nicoll cb02944c71 Upgrade to Log4j2 2.17.0
Closes gh-28983
3 years ago
Madhura Bhave 1c17a851b7 Merge branch '2.7.x' into main 3 years ago
Madhura Bhave d803c53e02 Merge branch '2.6.x' into 2.7.x
Closes gh-29109
3 years ago
Madhura Bhave 4cc8012bfa Handle WebServerNamespace in CachingOperationInvoker
Fixes gh-28882
3 years ago
Madhura Bhave 48a6470ddb Merge branch '2.7.x' into main 3 years ago
Madhura Bhave 764531c326 Merge branch '2.6.x' into 2.7.x
Closes gh-29108
3 years ago
Madhura Bhave d9d161cd6b Allow previously authorized users to access the error page
Prior to this commit, the `ErrorPageSecurityFilter` verified if
access to the error page was allowed by invoking the
`WebInvocationPrivilegeEvaluator` with the Authentication from the
`SecurityContextHolder`.
This meant that access to the error page was denied for a `null` Authentication
 or `AnonymousAuthenticationToken` in cases where the error page required
authenticated access. This prevented authorized users from accessing the
error page in case the Authentication wasn't retrievable for the error dispatch,
which is the case for `@Transient` authentication or stateless session policy.

This commit updates the `ErrorPageSecurityFilter` to check access to the error page
only if the error is an authn or authz error in cases where an authentication object
is not found in the SecurityContextHolder. This makes the error response consistent
when bad credentials or no credentials are used while also allowing access to previously
authorized users.

Fixes gh-28953
3 years ago
Stephane Nicoll c975fbc286 Merge branch '2.7.x' 3 years ago
Stephane Nicoll 64dd1f86c0 Merge branch '2.6.x' into 2.7.x
Closes gh-29104
3 years ago
Stephane Nicoll c077ebecf7 Merge branch '2.5.x' into 2.6.x
Closes gh-29103
3 years ago
Andy Wilkinson 2fec06ac7e Find annotation without initializing factory beans
Closes gh-28977
3 years ago
Brian Clozel d13441c009 Merge branch '2.7.x'
Closes gh-29014
3 years ago
Brian Clozel b04f7904ff Merge branch '2.6.x' into 2.7.x
Closes gh-29013
3 years ago
Brian Clozel 1c35ec2c3c Merge branch '2.5.x' into 2.6.x
Closes gh-29012
3 years ago
Brian Clozel 5d0206320a Upgrade to Logback 1.2.9
Closes gh-29011
3 years ago
Stephane Nicoll b9057f1957 Merge branch '2.7.x' 3 years ago
Stephane Nicoll de383fcee0 Merge branch '2.6.x' into 2.7.x
Closes gh-29099
3 years ago
Stephane Nicoll bcaa59ce73 Merge branch '2.5.x' into 2.6.x
Closes gh-29098
3 years ago
Pavel Anisimov 415c58e21b Polish CacheManager customization section in reference doc
See gh-29094
3 years ago
Stephane Nicoll a05714ad9f Merge branch '2.6.x' into 2.7.x
Closes gh-29097
3 years ago
Stephane Nicoll 10362a9315 Merge branch '2.5.x' into 2.6.x
Closes gh-29096
3 years ago
Stephane Nicoll 8c9d398422 Test our Gradle plugin against Gradle 7.3.2
Closes gh-29093
3 years ago
Phillip Webb 1015df088d Merge branch '2.6.x' into 2.7.x 3 years ago