You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+22Lines changed: 22 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,6 +3,28 @@ Change Log
3
3
4
4
# Next version
5
5
6
+
# Version 4.3.0
7
+
8
+
Version 4.3.0 allows adding multiple compiler plugins and stabilizes `ApolloCompilerPlugin.beforeCompilationStep()` as the main entry point for compiler plugins. Read more in the [compiler plugins documentation page](https://www.apollographql.com/docs/kotlin/advanced/compiler-plugins).
9
+
10
+
This allows to move some cache-specific code generation logic to the new normalized cache repo and better separate concerns.
11
+
12
+
Moving forward, `ApolloCompilerPlugin.beforeCompilationStep()` and `ApolloCompilerRegistry.registerOperationIdsGenerator()` are considered stable because they play an important part in setting up [persisted queries](https://www.apollographql.com/docs/kotlin/advanced/persisted-queries). Other APIs are considered more advanced and will most likely stay unstable for the foreseeable future.
13
+
14
+
## Contributors 💜
15
+
16
+
Many thanks to @gnehz972 and @mengdd for their fixes about HTTP batching 💜
17
+
18
+
## 👷♂️ All changes
19
+
20
+
* Fix losing response headers when using batch request (#6538)
21
+
* fix the batch size not respected issue (#6528)
22
+
* prepare compiler plugins for 4.3 (#6549)
23
+
* Allow to register multiple compiler plugins (#6546)
24
+
* Add key fields to selections even when they're already selected with an alias (#6503) (#6544)
25
+
* Ignore scalars/enums in checkCapitalizedFields (#6502) (#6543)
26
+
* Call DocumentTransform.transform after processing (#6510) (#6512)
Next, create an `ApolloCompilerPluginProvider`. This is the entry point of compiler plugins. It is loaded using the [ServiceLoader](https://docs.oracle.com/javase/8/docs/api/java/util/ServiceLoader.html) API.
Make your plugin discoverable by [ServiceLoader](https://docs.oracle.com/javase/8/docs/api/java/util/ServiceLoader.html) by adding a resource in `src/main/resources/META-INF/services/com.apollographql.apollo.compiler.ApolloCompilerPluginProvider`. This file contains the fully qualified name of your plugin:
54
+
Make your plugin discoverable by [ServiceLoader](https://docs.oracle.com/javase/8/docs/api/java/util/ServiceLoader.html) by adding a resource in `src/main/resources/META-INF/services/com.apollographql.apollo.compiler.ApolloCompilerPlugin`. This file contains the fully qualified name of your plugin:
76
55
77
56
```
78
-
mypackage.MyPluginProvider
57
+
mypackage.MyPlugin
79
58
```
80
59
81
60
<Note>
82
61
83
-
The name of the resource file is important. It must be `com.apollographql.apollo.compiler.ApolloCompilerPluginProvider` and be in the `META-INF/services` folder. This is how `ServiceLoader` looks up plugins at runtime.
62
+
The name of the resource file is important. It must be `com.apollographql.apollo.compiler.ApolloCompilerPlugin` and be in the `META-INF/services` folder. This is how `ServiceLoader` looks up plugins at runtime.
84
63
</Note>
85
64
86
-
<Note>
87
-
88
-
Only a single plugin is supported at this time. If you need more, you can usually have a single wrapper plugin that calls your different implementations in the required order.
89
-
</Note>
90
65
91
66
## Adding a plugin to the Apollo compiler classpath
92
67
@@ -133,9 +108,14 @@ apollo {
133
108
The arguments are available in `ApolloCompilerPluginEnvironment.arguments`:
0 commit comments