Commit Graph

1555 Commits

Author SHA1 Message Date
rstoyanchev
175cf6fbc2 Fix compile error in test 2025-05-16 08:57:02 +01:00
rstoyanchev
705c283bfa Merge branch '1.3.x' 2025-05-16 08:48:40 +01:00
rstoyanchev
518617dd34 Lenient adapt non-Publisher subscription result
Closes gh-1213
2025-05-16 08:48:13 +01:00
Brian Clozel
41e2a2fed1 Upgrade to Spring Framework 6.2.7
Closes gh-1214
2025-05-16 09:31:58 +02:00
Brian Clozel
5747def15b Upgrade to GraphQL Java 24.0
This commit sets the new GraphQL Java baseline to 24.0 for this Spring
for GraphQL generation.

This also uses the new `DataLoader#getName` property in the batch loader
registry and the observability instrumentation.

Closes gh-1210
Closes gh-1211
2025-05-16 09:27:24 +02:00
Brian Clozel
998ba45fb5 Upgrade to Reactor 2024.0.6
Closes gh-1212
2025-05-14 11:23:55 +02:00
Brian Clozel
cb26ad381c Upgrade to Micrometer 1.15.0
Closes gh-1182
2025-05-13 17:27:04 +02:00
Brian Clozel
20142fc4de Merge branch '1.3.x' 2025-05-12 11:50:43 +02:00
Brian Clozel
ce9472fdd9 Upgrade to GraphiQL 4.0.0
Closes gh-1209
2025-05-12 11:50:14 +02:00
Brian Clozel
a3272085d1 Upgrade to Gradle 8.14 2025-05-06 09:41:30 +02:00
Brian Clozel
190c72ea0c Upgrade SDKMan! Java version to 17.0.15 2025-05-06 09:41:04 +02:00
Brian Clozel
e0bffeb819 Upgrade GitHub actions 2025-05-06 09:33:30 +02:00
Brian Clozel
a672d59d69 Merge branch '1.3.x' 2025-05-02 18:25:10 +02:00
Alexander Münch
719281175f Fix typo in SchemaMappingInspector Javadoc
Closes gh-1195

Signed-off-by: Alexander Münch <theHacker@users.noreply.github.com>
2025-05-02 18:20:43 +02:00
Brian Clozel
2ce7bfca7b Merge branch '1.3.x' 2025-05-02 18:15:18 +02:00
Patrick Strawderman
d30429fe86 Fix dropping of extensions in ContextDataFetcherDecorator
ContextDataFetcherDecorator was not retaining extensions for DataFetchers returning
a DataFetcherResult instance.

Closes gh-1199

Signed-off-by: Patrick Strawderman <pstrawderman@netflix.com>
[brian.clozel@broadcom.com: apply code conventions]
Signed-off-by: Brian Clozel <brian.clozel@broadcom.com>
2025-05-02 18:13:44 +02:00
Brian Clozel
ae40015283 Merge branch '1.3.x' 2025-04-17 16:18:14 +02:00
Brian Clozel
ccf9f8ab7f Next development version (v1.3.6-SNAPSHOT) 2025-04-17 16:18:02 +02:00
Brian Clozel
6014970511 Upgrade to JUnit 5.12.2 2025-04-17 15:57:03 +02:00
rstoyanchev
cea4e08011 Polishing in SelfDescribingDataFetcher 2025-04-17 14:48:32 +01:00
Brian Clozel
7b728feaf3 Upgrade to Spring Framework 6.2.6
Closes gh-1178
2025-04-17 15:16:49 +02:00
Brian Clozel
530c37fee2 Merge branch '1.3.x' 2025-04-17 15:13:05 +02:00
Brian Clozel
c9a52cfb89 Upgrade to Context Propagation 1.1.3
Closes gh-1194
2025-04-17 15:10:47 +02:00
Brian Clozel
756b0c13ac Upgrade to Micrometer 1.13.13
Closes gh-1193
2025-04-17 15:10:26 +02:00
Brian Clozel
680534e6ef Upgrade to Reactor 2023.0.17
Closes gh-1192
2025-04-17 15:09:58 +02:00
Brian Clozel
ec0a9c37c4 Upgrade to Spring Framework 6.1.19
Closes gh-1191
2025-04-17 15:09:13 +02:00
rstoyanchev
2259a005f8 Polishing in GraphQlArgumentBinder 2025-04-17 10:44:44 +01:00
Brian Clozel
450cef197f Merge branch '1.3.x' 2025-04-15 22:33:50 +02:00
Brian Clozel
6ddaeadbd5 Fix codegen documentation section
Closes gh-1188
2025-04-15 22:33:28 +02:00
Brian Clozel
0293299c08 Attempt properties binding after constructor
Prior to this commit, the `GraphQlArgumentBinder` would choose between
two strategies:
* if there is a constructor with arguments, instantiate the target and
  bind it using the constructor
* otherwise, use the default constructor and use bean properties binding

This commit extends the first case and attempts to further bind bean
properties after constructor instantiation.

Closes gh-1163
2025-04-15 21:14:57 +02:00
Brian Clozel
12871a0703 Upgrade to GraphQL Java 23.1
Closes gh-1169
2025-04-15 14:07:54 +02:00
Brian Clozel
ac9616fd9f Revert ArgumentValue->FieldValue changes
See gh-1187
See gh-1190
See gh-1174
2025-04-15 12:02:29 +02:00
Brian Clozel
179929a298 Upgrade to Reactor 2024.0.5
Closes gh-1179
2025-04-15 11:57:19 +02:00
Brian Clozel
18b7b86913 Upgrade to Micrometer 1.15.0-RC1
Closes gh-1180
2025-04-15 11:56:16 +02:00
Brian Clozel
4c70199993 Merge branch '1.3.x' 2025-04-15 11:54:27 +02:00
Brian Clozel
9228631596 Upgrade to github-changelog-generator 0.0.12 2025-04-15 11:54:11 +02:00
Brian Clozel
70f16c1158 Configure JSON GraphQlModule in client support
The various GraphQL clients supported in this project automatically detect
JSON codecs for reading/writing GraphQL requests as JSON payloads.
If there is none detected, clients provide a default codec instance.

This commit configures automatically the `GraphQlModule` from gh-1174 in
default codecs and add integration tests for `FieldValue<T>` usage on the
client side.

This also improves the documentation around `FieldValue<T>` for both
server and client side support.

Closes gh-1190
2025-04-15 11:44:05 +02:00
James Bodkin
1ec45c68f5 Add Jackson module to serialize/deserialize FieldValue
This commit adds a new `GraphQlModule` Jackson module that supports:

* serialization/deserialization of `FieldValue<T>`
* the upgrade of `FieldValue<T>` as reference types

This enables `FieldValue<T>` to be read/written from/to JSON with
Jackson on the client side. Note, on the server side this module is not
involved as the payload is deserialized as a `Map<String,Object>` and
values are bound as `FieldValue<T>` types directly.

Closes gh-1174

Signed-off-by: James Bodkin <james.bodkin@amphora.net>
[brian.clozel@broadcom.com: apply code conventions, use FieldValue type]
Signed-off-by: Brian Clozel <brian.clozel@broadcom.com>
2025-04-15 11:44:03 +02:00
Brian Clozel
9b9761f424 Rename ArgumentValue to FieldValue
Prior to this commit, `ArgumentValue<T>` would mainly focus on the
server-side support with the binding of arguments on Controller methods.

With the introduction of this feature on the client in gh-1174, this
commit reconsiders both the `ArgumentValue<T>` name and its package
location to reflect the broader support.

This commit deprecates `ArgumentValue<T>` in favor of `FieldValue<T>`
with similar support.

Closes gh-1187
2025-04-15 11:44:01 +02:00
Brian Clozel
b1e2e9a486 Merge branch '1.3.x' 2025-04-09 20:55:22 +02:00
Patrick Grosslicht
8ff287bec8 Use correct logger name in QuerydslDataFetcher
Closes gh-1185

Signed-off-by: Patrick Grosslicht <1881000+pgrosslicht@users.noreply.github.com>
2025-04-09 20:54:57 +02:00
Brian Clozel
578b04d226 Merge branch '1.3.x' 2025-04-08 17:06:37 +02:00
James Bodkin
d8381e6cf3 Allow non-nullable types in GraphQL Relay
Closes gh-1173

Signed-off-by: James Bodkin <james.bodkin@amphora.net>
[brian.clozel@broadcom.com: remove unrelated test]
Signed-off-by: Brian Clozel <brian.clozel@broadcom.com>
2025-04-08 17:02:37 +02:00
Brian Clozel
a43f3036c5 Fix data.method<->data.federation package tangle
Closes gh-1184
2025-04-08 15:29:53 +02:00
Brian Clozel
626687ae33 Add ArchUnit automated architecture checks
See gh-1184
2025-04-08 15:29:22 +02:00
Brian Clozel
6de47bd2d3 Make test classes package private
See gh-1184
2025-04-08 15:27:26 +02:00
Brian Clozel
aa59d4bf9c Upgrade to Spring Java Format 0.0.41
See gh-1184
2025-04-08 15:24:52 +02:00
Brian Clozel
ecc88f7a41 Ensure that DataLoader are retrieved from DataFetchingEnvironment
Closes gh-1177
2025-04-08 10:46:48 +02:00
Brian Clozel
04fa5e1e0f Polishing 2025-04-07 15:36:03 +02:00
Brian Clozel
594c9dfc4f Add DataLoader observability support
Prior to this commit, the `GraphQlObservationInstrumentation` would
instrument the following operations:

* GraphQL requests
* GraphQL data fetching operations

In the case of batch loading operations, the instrumentation would
consider each load call as a separate data fetching operation. This
would significantly clutter recorded traces and would make it look like
"N+1 problems" would still be present.

This commit adds a new "graphql.dataloader" observation for such
operations and avoids recording data fetching observations when
`SelfDescribingDataFetcher` declare that they call batch loading
operations.

Closes gh-1034
2025-04-07 15:30:13 +02:00