Commit Graph
35321 Commits
Author SHA1 Message Date
Stephane Nicoll cab9ba45f7 Merge branch '2.7.x' 2021-12-24 18:24:47 +01:00
Stephane Nicoll e74ac3e841 Merge branch '2.6.x' into 2.7.x 2021-12-24 18:24:40 +01:00
Stephane Nicoll b141827641 Merge branch '2.5.x' into 2.6.x 2021-12-24 18:24:30 +01:00
Stephane Nicoll 04fa659402 Merge pull request #29160 from izeye
* pr/29160:
  Upgrade to Gradle 7.3.3

Closes gh-29160
2021-12-24 18:23:58 +01:00
izeye 10196d20b8 Upgrade to Gradle 7.3.3
See gh-29160
2021-12-24 18:23:07 +01:00
Scott Frederick 40950960eb Merge branch '2.7.x' 2021-12-21 14:48:52 -06:00
Scott Frederick 8855c4a4a1 Merge branch '2.6.x' into 2.7.x 2021-12-21 14:48:28 -06:00
Spring Builds 2c14bd7ac4 Next development version (v2.6.3-SNAPSHOT) 2021-12-21 20:17:03 +00:00
Spring Builds d228721679 Next development version (v2.5.9-SNAPSHOT) 2021-12-21 17:51:23 +00:00
Stephane Nicoll 7845eaaea7 Merge branch '2.7.x' 2021-12-21 17:12:16 +01:00
Stephane Nicoll 0205dcc4b8 Merge branch '2.6.x' into 2.7.x 2021-12-21 17:12:07 +01:00
Stephane Nicoll 78ea1465dc Merge branch '2.5.x' into 2.6.x 2021-12-21 17:11:54 +01:00
Stephane Nicoll 61c978e835 Upgrade to Spring Integration 5.5.7
Closes gh-28975
2021-12-21 17:11:43 +01:00
Stephane Nicoll 369046c37d Upgrade to Spring Integration 5.5.7
Closes gh-28966
2021-12-21 17:09:38 +01:00
Stephane Nicoll c7487749de Upgrade to Spring Session 2021.1.1
Closes gh-28974
2021-12-21 16:53:54 +01:00
Stephane Nicoll 3aa688e4f0 Merge branch '2.7.x' 2021-12-21 14:56:39 +01:00
Stephane Nicoll e27e5dcf56 Merge branch '2.6.x' into 2.7.x 2021-12-21 14:56:24 +01:00
Stephane Nicoll 878a65d8bf Merge branch '2.5.x' into 2.6.x 2021-12-21 14:56:12 +01:00
Stephane Nicoll 2e67645fd5 Upgrade to Hazelcast 4.2.4
Closes gh-29146
2021-12-21 14:55:32 +01:00
Stephane Nicoll f3621702fb Upgrade to Hazelcast 4.1.8
Closes gh-29145
2021-12-21 14:24:50 +01:00
Stephane Nicoll a6350f2307 Upgrade to Spring Session 2021.0.4
Closes gh-28965
2021-12-21 14:00:18 +01:00
Brian Clozel be5e60450b Merge branch '2.7.x' 2021-12-21 10:34:57 +01:00
Brian Clozel 88ee4fab36 Polish
See gh-29140
2021-12-21 10:33:51 +01:00
Stephane Nicoll 6e0c9be5ce Merge branch '2.7.x' 2021-12-21 10:02:20 +01:00
Stephane Nicoll acafdc1a62 Merge branch '2.6.x' into 2.7.x 2021-12-21 10:02:13 +01:00
Stephane Nicoll ed5ea950a4 Merge branch '2.5.x' into 2.6.x 2021-12-21 10:02:04 +01:00
Stephane Nicoll b1ab3b8898 Revert "Upgrade to Spring Kafka 2.7.10"
See gh-29114
2021-12-21 09:30:44 +01:00
Stephane Nicoll 00a274e46d Merge branch '2.7.x' 2021-12-21 09:11:58 +01:00
Stephane Nicoll e48aa9c580 Merge branch '2.6.x' into 2.7.x 2021-12-21 09:11:47 +01:00
Stephane Nicoll 55a20e8a16 Merge branch '2.5.x' into 2.6.x 2021-12-21 09:10:49 +01:00
Stephane Nicoll 669710efe0 Upgrade to Spring Security 5.6.1
Closes gh-28973
2021-12-21 09:06:49 +01:00
Stephane Nicoll af77ee007a Upgrade to Spring Kafka 2.8.1
Closes gh-29017
2021-12-21 09:06:22 +01:00
Stephane Nicoll 66c43685f5 Upgrade to Spring AMQP 2.4.1
Closes gh-28995
2021-12-21 09:05:46 +01:00
Brian Clozel f61c87c3a7 Revert "Merge branch '2.7.x'"
This reverts commit f0677a119c, reversing
changes made to 938d58f32c.
2021-12-21 09:05:06 +01:00
Stephane Nicoll 44a9145bf8 Upgrade to Spring Security 5.5.4
Closes gh-28964
2021-12-21 09:04:47 +01:00
Brian Clozel f0677a119c Merge branch '2.7.x' 2021-12-21 09:04:10 +01:00
Stephane Nicoll 6f8e1166c6 Upgrade to Spring Kafka 2.7.10
Closes gh-29114
2021-12-21 09:04:05 +01:00
Stephane Nicoll b2c2e6d0ca Upgrade to Spring AMQP 2.3.13
Closes gh-28994
2021-12-21 09:03:40 +01:00
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
2021-12-21 08:34:56 +01:00
Brian Clozel c522a8007b Add smoke test for Spring GraphQL
See gh-29140
2021-12-21 08:34:49 +01:00
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
2021-12-21 08:34:40 +01:00
Brian Clozel 8e29eac887 Auto-configure GraphQL metrics
This commit auto-configures the metrics infrastructure for Spring
GraphQL.

See gh-29140
2021-12-21 08:34:32 +01:00
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
2021-12-21 08:34:24 +01:00
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
2021-12-21 08:34:15 +01:00
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
2021-12-21 08:34:06 +01:00
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
2021-12-21 08:34:00 +01:00
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
2021-12-21 08:33:50 +01:00
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
2021-12-21 08:33:43 +01:00
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
2021-12-21 08:33:31 +01:00
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
2021-12-21 08:33:25 +01:00