grafserv 0.1.1-beta.9 → 1.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/CHANGELOG.md +636 -0
  2. package/README.md +0 -5
  3. package/dist/accept.d.ts.map +1 -1
  4. package/dist/accept.js +3 -4
  5. package/dist/accept.js.map +1 -1
  6. package/dist/core/base.d.ts +10 -3
  7. package/dist/core/base.d.ts.map +1 -1
  8. package/dist/core/base.js +195 -106
  9. package/dist/core/base.js.map +1 -1
  10. package/dist/envelop/index.d.ts +7 -0
  11. package/dist/envelop/index.d.ts.map +1 -1
  12. package/dist/envelop/index.js +5 -3
  13. package/dist/envelop/index.js.map +1 -1
  14. package/dist/hooks.d.ts +5 -5
  15. package/dist/hooks.d.ts.map +1 -1
  16. package/dist/hooks.js +55 -14
  17. package/dist/hooks.js.map +1 -1
  18. package/dist/index.d.ts +34 -7
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +2 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/interfaces.d.ts +52 -9
  23. package/dist/interfaces.d.ts.map +1 -1
  24. package/dist/interfaces.js.map +1 -1
  25. package/dist/mapIterator.d.ts.map +1 -1
  26. package/dist/mapIterator.js +4 -2
  27. package/dist/mapIterator.js.map +1 -1
  28. package/dist/middleware/graphiql.d.ts +3 -2
  29. package/dist/middleware/graphiql.d.ts.map +1 -1
  30. package/dist/middleware/graphiql.js +88 -23
  31. package/dist/middleware/graphiql.js.map +1 -1
  32. package/dist/middleware/graphql.d.ts +1 -3
  33. package/dist/middleware/graphql.d.ts.map +1 -1
  34. package/dist/middleware/graphql.js +27 -14
  35. package/dist/middleware/graphql.js.map +1 -1
  36. package/dist/options.d.ts +5 -2
  37. package/dist/options.d.ts.map +1 -1
  38. package/dist/options.js +20 -9
  39. package/dist/options.js.map +1 -1
  40. package/dist/servers/express/v4/index.d.ts +0 -2
  41. package/dist/servers/express/v4/index.d.ts.map +1 -1
  42. package/dist/servers/express/v4/index.js +2 -2
  43. package/dist/servers/express/v4/index.js.map +1 -1
  44. package/dist/servers/fastify/v4/index.d.ts +1 -2
  45. package/dist/servers/fastify/v4/index.d.ts.map +1 -1
  46. package/dist/servers/fastify/v4/index.js +23 -5
  47. package/dist/servers/fastify/v4/index.js.map +1 -1
  48. package/dist/servers/h3/v1/index.d.ts +8 -16
  49. package/dist/servers/h3/v1/index.d.ts.map +1 -1
  50. package/dist/servers/h3/v1/index.js +49 -42
  51. package/dist/servers/h3/v1/index.js.map +1 -1
  52. package/dist/servers/hono/v4/index.d.ts +36 -0
  53. package/dist/servers/hono/v4/index.d.ts.map +1 -0
  54. package/dist/servers/hono/v4/index.js +284 -0
  55. package/dist/servers/hono/v4/index.js.map +1 -0
  56. package/dist/servers/koa/v2/index.d.ts +3 -5
  57. package/dist/servers/koa/v2/index.d.ts.map +1 -1
  58. package/dist/servers/koa/v2/index.js +5 -2
  59. package/dist/servers/koa/v2/index.js.map +1 -1
  60. package/dist/servers/lambda/v1/index.d.ts +1 -1
  61. package/dist/servers/lambda/v1/index.d.ts.map +1 -1
  62. package/dist/servers/lambda/v1/index.js +3 -3
  63. package/dist/servers/lambda/v1/index.js.map +1 -1
  64. package/dist/servers/node/index.d.ts +13 -5
  65. package/dist/servers/node/index.d.ts.map +1 -1
  66. package/dist/servers/node/index.js +11 -6
  67. package/dist/servers/node/index.js.map +1 -1
  68. package/dist/servers/whatwg-node__server/v0/index.d.ts +27 -0
  69. package/dist/servers/whatwg-node__server/v0/index.d.ts.map +1 -0
  70. package/dist/servers/whatwg-node__server/v0/index.js +135 -0
  71. package/dist/servers/whatwg-node__server/v0/index.js.map +1 -0
  72. package/dist/utils.d.ts +22 -5
  73. package/dist/utils.d.ts.map +1 -1
  74. package/dist/utils.js +137 -49
  75. package/dist/utils.js.map +1 -1
  76. package/dist/version.d.ts +1 -1
  77. package/dist/version.d.ts.map +1 -1
  78. package/dist/version.js +1 -1
  79. package/dist/version.js.map +1 -1
  80. package/dist/websocketKeepalive.d.ts +4 -0
  81. package/dist/websocketKeepalive.d.ts.map +1 -0
  82. package/dist/websocketKeepalive.js +61 -0
  83. package/dist/websocketKeepalive.js.map +1 -0
  84. package/fwd/ruru/static/index.d.ts +1 -0
  85. package/fwd/ruru/static/index.js +1 -0
  86. package/package.json +61 -29
package/CHANGELOG.md CHANGED
@@ -1,5 +1,641 @@
1
1
  # grafserv
2
2
 
3
+ ## 1.0.0-rc.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [#2829](https://github.com/graphile/crystal/pull/2829)
8
+ [`a82e6fa`](https://github.com/graphile/crystal/commit/a82e6fae099f7e9d62fb3fc1ee173368cdabca27)
9
+ Thanks [@benjie](https://github.com/benjie)! - Update dependency ranges.
10
+
11
+ - Updated dependencies
12
+ [[`f3a9869`](https://github.com/graphile/crystal/commit/f3a9869c6f9e7aa1eb501af5f7d582d2073be585),
13
+ [`68f61cd`](https://github.com/graphile/crystal/commit/68f61cdbeea19e81b1d59a3fac69a569642c5c88),
14
+ [`a82e6fa`](https://github.com/graphile/crystal/commit/a82e6fae099f7e9d62fb3fc1ee173368cdabca27)]:
15
+ - grafast@1.0.0-rc.2
16
+ - graphile-config@1.0.0-rc.2
17
+ - ruru@2.0.0-rc.2
18
+ - @graphile/lru@5.0.0-rc.2
19
+
20
+ ## 1.0.0-rc.1
21
+
22
+ ### Patch Changes
23
+
24
+ - [#2777](https://github.com/graphile/crystal/pull/2777)
25
+ [`6a4e3b9`](https://github.com/graphile/crystal/commit/6a4e3b9ec182f7d066600aee0f8cc21d451b0ae2)
26
+ Thanks [@benjie](https://github.com/benjie)! - Implement queue for
27
+ `watchGather`/`watchSchema`/etc and integrate with grafserv's `setPreset`
28
+ middleware. Promises returned by such now delay schema application, preventing
29
+ growing concurrent work.
30
+
31
+ - [#2777](https://github.com/graphile/crystal/pull/2777)
32
+ [`c6cbe61`](https://github.com/graphile/crystal/commit/c6cbe6175b0f1f034db59d42cbe594e7d329aba6)
33
+ Thanks [@benjie](https://github.com/benjie)! - Tighten our public API surface
34
+ by:
35
+ - renaming `EventStreamHeandlerResult` to the correctly spelt
36
+ `EventStreamHandlerResult` (and keeping only a deprecated alias for the old
37
+ name)
38
+ - dropping the long-deprecated Grafast exports `InterfaceOrUnionPlans` (use
39
+ `InterfacePlan` or `UnionPlan` as appropriate), `deepEval` (should be
40
+ `applyTransforms`) and `DeepEvalStep` (should be `ApplyTransformsStep`)
41
+ - removing the `PgAdaptorOptions` alias in favour of `PgAdaptorSettings`
42
+ - deleting the PostGraphile preset aliases `postgraphilePresetAmber` should be
43
+ `PostGraphileAmberPreset`) and `PgRelayPreset` (should be
44
+ `PostGraphileRelayPreset`), and updating all first-party usage to the
45
+ canonical names
46
+
47
+ - [#2792](https://github.com/graphile/crystal/pull/2792)
48
+ [`f23e0e0`](https://github.com/graphile/crystal/commit/f23e0e0da9105a973dd8ac76f8ae519345d0a5b1)
49
+ Thanks [@malyzeli](https://github.com/malyzeli)! - Add support for event
50
+ streams (e.g. schema watch mode) to Hono Grafserv adaptor. (Thanks @malyzeli!)
51
+
52
+ - [`8a5a7c5`](https://github.com/graphile/crystal/commit/8a5a7c536fc4b9b702600c5cc3d413724670c327)
53
+ Thanks [@benjie](https://github.com/benjie)! - Bump to release candidate
54
+
55
+ - Updated dependencies
56
+ [[`abb623d`](https://github.com/graphile/crystal/commit/abb623d59e517c0949f0fef5440b817103c685bf),
57
+ [`7b86454`](https://github.com/graphile/crystal/commit/7b864546fa81803ce0e573a2efa2e7f0905b2040),
58
+ [`42a0785`](https://github.com/graphile/crystal/commit/42a0785ddabf58812a22d764eeddfde9362974e5),
59
+ [`d196d60`](https://github.com/graphile/crystal/commit/d196d60664fbc9ffd410c11645db27554b22ac0b),
60
+ [`c6cbe61`](https://github.com/graphile/crystal/commit/c6cbe6175b0f1f034db59d42cbe594e7d329aba6),
61
+ [`d4ac603`](https://github.com/graphile/crystal/commit/d4ac603da7df6ea01aaa483a7cb29b1e514a90cd),
62
+ [`8a5a7c5`](https://github.com/graphile/crystal/commit/8a5a7c536fc4b9b702600c5cc3d413724670c327),
63
+ [`ea0135f`](https://github.com/graphile/crystal/commit/ea0135fac3f43850b65828f2ff2b01a34cfdff15),
64
+ [`b6821f5`](https://github.com/graphile/crystal/commit/b6821f5f4dc13abd0b605be7396c1b3c36e66177)]:
65
+ - grafast@1.0.0-rc.1
66
+ - graphile-config@1.0.0-rc.1
67
+ - ruru@2.0.0-rc.1
68
+ - @graphile/lru@5.0.0-rc.1
69
+
70
+ ## 0.1.1-beta.29
71
+
72
+ ### Patch Changes
73
+
74
+ - [#2730](https://github.com/graphile/crystal/pull/2730)
75
+ [`4c3cf22`](https://github.com/graphile/crystal/commit/4c3cf22592f44cb28e399434474ca5fcef0e1a3b)
76
+ Thanks [@benjie](https://github.com/benjie)! - Update `graphql` version range
77
+
78
+ - [#2713](https://github.com/graphile/crystal/pull/2713)
79
+ [`a26ad3e`](https://github.com/graphile/crystal/commit/a26ad3ebcc008acb9a6f5216e3f27ef74f138953)
80
+ Thanks [@benjie](https://github.com/benjie)! - Fix bug with error masking (or
81
+ lack thereof!) in subscriptions
82
+
83
+ - [#2142](https://github.com/graphile/crystal/pull/2142)
84
+ [`ab96e5f`](https://github.com/graphile/crystal/commit/ab96e5f58aa3315db9b85b452b048f600cb8353e)
85
+ Thanks [@benjie](https://github.com/benjie)! - Support for `@defer` and
86
+ `@stream` no longer requires `graphql@16.1.0-experimental-stream-defer.6`.
87
+ `graphql@^16.9.0` should now work, since we ponyfill everything we need.
88
+ - Updated dependencies
89
+ [[`4c3cf22`](https://github.com/graphile/crystal/commit/4c3cf22592f44cb28e399434474ca5fcef0e1a3b),
90
+ [`71e0af2`](https://github.com/graphile/crystal/commit/71e0af265c90e9d9d0dc764cc552f7470e860251),
91
+ [`ab96e5f`](https://github.com/graphile/crystal/commit/ab96e5f58aa3315db9b85b452b048f600cb8353e),
92
+ [`278b4d3`](https://github.com/graphile/crystal/commit/278b4d398eb7db1935caba4155e1d1727284a370),
93
+ [`eaa771b`](https://github.com/graphile/crystal/commit/eaa771b34dbdac1c4d701faa8fb5947e9cf1d1be),
94
+ [`d0c15cc`](https://github.com/graphile/crystal/commit/d0c15ccc32ed8dec19ff068f851529132dc93302),
95
+ [`bffbb77`](https://github.com/graphile/crystal/commit/bffbb775ea76d1add85422866a6b7e904d2311af),
96
+ [`c48ca48`](https://github.com/graphile/crystal/commit/c48ca4840227b8e5e6a1dc198a189cfd911a602b)]:
97
+ - grafast@0.1.1-beta.27
98
+ - ruru@2.0.0-beta.31
99
+
100
+ ## 0.1.1-beta.28
101
+
102
+ ### Patch Changes
103
+
104
+ - [#2690](https://github.com/graphile/crystal/pull/2690)
105
+ [`208364f`](https://github.com/graphile/crystal/commit/208364f9423abd240a0772b661986aae6e185c47)
106
+ Thanks [@benjie](https://github.com/benjie)! - Add keepalive to grafserv
107
+ websocket connections.
108
+
109
+ - [#2694](https://github.com/graphile/crystal/pull/2694)
110
+ [`13513dd`](https://github.com/graphile/crystal/commit/13513ddaea15ad9498a77de7c4e92679498f99ca)
111
+ Thanks [@benjie](https://github.com/benjie)! - Add support for `onError` RFC
112
+ with `PROPAGATE`, `NULL` and `HALT` behaviors implemented.
113
+
114
+ - [#2678](https://github.com/graphile/crystal/pull/2678)
115
+ [`6dafac1`](https://github.com/graphile/crystal/commit/6dafac162955291e5147c21e57734b44e30acb98)
116
+ Thanks [@benjie](https://github.com/benjie)! - Remove peer dependency
117
+ optionality in an attempt to satisfy pnpm's installation algorithms
118
+
119
+ - [#2666](https://github.com/graphile/crystal/pull/2666)
120
+ [`33c7784`](https://github.com/graphile/crystal/commit/33c7784a8c81ac29c1e2e4a8733d04c30ef7035b)
121
+ Thanks [@valerii15298](https://github.com/valerii15298)! - Fix support for
122
+ HTTP 304 in @whatwg/node adaptor, thereby fixing serving of static assets with
123
+ ETag headers (thanks @valerii15298!)
124
+
125
+ - [#2657](https://github.com/graphile/crystal/pull/2657)
126
+ [`f83b191`](https://github.com/graphile/crystal/commit/f83b191f39c9d521fd12563cca6aa20d1a6f0494)
127
+ Thanks [@dependabot](https://github.com/apps/dependabot)! - Add support for
128
+ Koa v3 (via v2 code) and update package exports.
129
+
130
+ - Updated dependencies
131
+ [[`cfd4c3c`](https://github.com/graphile/crystal/commit/cfd4c3cff0ef40ed87a2c700b7719c1ca0e73588),
132
+ [`c3f9c38`](https://github.com/graphile/crystal/commit/c3f9c38cb00ad4553e4bc3c04e16a7c77bd16142),
133
+ [`13513dd`](https://github.com/graphile/crystal/commit/13513ddaea15ad9498a77de7c4e92679498f99ca),
134
+ [`bc2b188`](https://github.com/graphile/crystal/commit/bc2b188a50e00f153dc68df6955399c5917130bd),
135
+ [`c13813e`](https://github.com/graphile/crystal/commit/c13813eecb42c0d9a6703540c022e318e18c5751),
136
+ [`4a9072b`](https://github.com/graphile/crystal/commit/4a9072bfa3d3e86c6013caf2b89a31e87f2bb421),
137
+ [`6dafac1`](https://github.com/graphile/crystal/commit/6dafac162955291e5147c21e57734b44e30acb98),
138
+ [`e15f886`](https://github.com/graphile/crystal/commit/e15f886cae1041416b44b74b75426f8d43000dcf),
139
+ [`34efed0`](https://github.com/graphile/crystal/commit/34efed09892d4b6533f40026de4a6b0a8a35035d),
140
+ [`185d449`](https://github.com/graphile/crystal/commit/185d449ed30d29c9134cc898b50a1473ab2910a2)]:
141
+ - graphile-config@0.0.1-beta.18
142
+ - grafast@0.1.1-beta.26
143
+ - ruru@2.0.0-beta.30
144
+
145
+ ## 0.1.1-beta.27
146
+
147
+ ### Patch Changes
148
+
149
+ - [#2578](https://github.com/graphile/crystal/pull/2578)
150
+ [`1d76d2f`](https://github.com/graphile/crystal/commit/1d76d2f0d19b4d56895ee9988440a35d2c60f9f9)
151
+ Thanks [@benjie](https://github.com/benjie)! - 🚨 **Ruru has been "rebuilt"!
152
+ The loading methods and APIs have changed!**
153
+
154
+ Ruru is now built on top of GraphiQL v5, which moves to using the Monaco
155
+ editor (the same editor used in VSCode) enabling more familiar keybindings and
156
+ more features (e.g. press F1 in the editor to see the command palette, and you
157
+ can now add comments in the variables JSON). This has required a
158
+ rearchitecture to Ruru's previously "single file" approach since Monaco uses
159
+ workers which require additional files.
160
+
161
+ In this release we have embraced the bundle splitting approach. We now bundle
162
+ both `prettier` and `mermaid`, and they are now loaded on-demand.
163
+
164
+ Usage instructions for all environments have had to change since we can no
165
+ longer serve Ruru as a single HTML file. We now include helpers for serving
166
+ Ruru's static files from whatever JS-based webserver you are using.
167
+
168
+ We've also added some additional improvements:
169
+ - Formatting with prettier now maintains the cursor position
170
+ (`Ctrl-Shift-P`/`Meta-Shift-P`/`Cmd-Shift-P` depending on platform)
171
+ - All editors are now formatted, not just the GraphQL editor
172
+ - Prettier and mermaid should now work offline
173
+ - Even more GraphiQL props are now passed through, including
174
+ `inputValueDeprecation` and `schemaDeprecation` which you can set to false
175
+ if your GraphQL server is, _ahem_, a little behind the GraphQL spec draft.
176
+
177
+ 🚨 **Changes you need to make:** 🚨
178
+ - If you are using Ruru directly (i.e. importing from `ruru/server`), please
179
+ see the new Ruru README for setup instructions, you'll want to switch out
180
+ your previous setup. In particular, `ruru/bundle` no longer exists and you
181
+ now need to serve the static files (via `ruru/static`).
182
+ - `defaultHTMLParts` is no more; instead `config.htmlParts` (also
183
+ `preset.ruru.htmlParts` for Graphile Config users) now allows the entries to
184
+ be callback functions reducing boilerplate:
185
+ ```diff
186
+ -import { defaultHTMLParts } from "ruru/server";
187
+ const config = {
188
+ htmlParts: {
189
+ - metaTags: defaultHTMLParts.metaTags + "<!-- local override -->",
190
+ + metaTags: (base) => base + "<!-- local override -->",
191
+ }
192
+ }
193
+ ```
194
+ (alternatively you can use `makeHTMLParts(config)`)
195
+ - Grafserv users: `plugin.grafserv.middleware.ruruHTMLParts` is renamed to
196
+ `ruruHTML` and wraps the generation of the HTML - simply trim `Parts` from
197
+ the name and be sure calling `next()` is the final line of the function
198
+ ```diff
199
+ const plugin = {
200
+ grafserv: {
201
+ middleware: {
202
+ - ruruHTMLParts(next, event) {
203
+ + ruruHTML(next, event) {
204
+ const { htmlParts, request } = event;
205
+ htmlParts.titleTag = `<title>${escapeHTML(
206
+ "Ruru | " + request.getHeader("host"),
207
+ )}</title>`;
208
+ return next();
209
+ },
210
+ },
211
+ },
212
+ };
213
+ ```
214
+
215
+ Additional changes:
216
+ - `RuruConfig.clientConfig` has been added for props to explicitly pass to
217
+ Ruru making it explicit that these will be sent to the client
218
+ - `RuruServerConfig` has deprecated the client options `editorTheme`,
219
+ `debugTools` and `eventSourceInit` at the top level; instead these should be
220
+ passed via `RuruServerConfig.clientConfig` making it explicit these will be
221
+ sent to the client and expanding to cover more props
222
+ ```diff
223
+ const config = {
224
+ endpoint: "/graphql",
225
+ + clientConfig: {
226
+ editorTheme: "dark",
227
+ + },
228
+ }
229
+ ```
230
+
231
+ - [#2622](https://github.com/graphile/crystal/pull/2622)
232
+ [`a480f6d`](https://github.com/graphile/crystal/commit/a480f6d22605fbb0d0fcdf6845cbdf294d3194b5)
233
+ Thanks [@benjie](https://github.com/benjie)! - 🚨 Since Ruru now needs to
234
+ serve static assets due to the upgrade to GraphiQL v5 and Monaco, we've had to
235
+ extend Grafserv to do so. We've (theoretically) added support in the H3, Hono
236
+ and Fastify adaptors, along with the base node adaptor (used by Node, Express,
237
+ Koa); however - if you have your own adaptor for a different server, you'll
238
+ need to be sure to call the `.graphiqlStaticHandler` for URLs that start with
239
+ `dynamicOptions.graphiqlStaticPath`.
240
+
241
+ Whilst at it, we've added more places where headers can be added, and we've
242
+ added a new "raw" ResultType which can be used to serve a Node Buffer with
243
+ entirely custom headers (e.g. set your own `Content-Type`).
244
+
245
+ - [#2600](https://github.com/graphile/crystal/pull/2600)
246
+ [`ad588ec`](https://github.com/graphile/crystal/commit/ad588ecde230359f56800e414b7c5fa1aed14957)
247
+ Thanks [@benjie](https://github.com/benjie)! - Mark all
248
+ peerDependencies=dependencies modules as optional peerDependencies to make
249
+ pnpm marginally happier hopefully.
250
+ - Updated dependencies
251
+ [[`1d76d2f`](https://github.com/graphile/crystal/commit/1d76d2f0d19b4d56895ee9988440a35d2c60f9f9),
252
+ [`c54c6db`](https://github.com/graphile/crystal/commit/c54c6db320b3967ab16784a504770c9b5ef24494),
253
+ [`24d379a`](https://github.com/graphile/crystal/commit/24d379ae4b8a3c0afe3f1a309d87806a05e8d00d),
254
+ [`ad588ec`](https://github.com/graphile/crystal/commit/ad588ecde230359f56800e414b7c5fa1aed14957)]:
255
+ - ruru@2.0.0-beta.25
256
+ - grafast@0.1.1-beta.24
257
+
258
+ ## 0.1.1-beta.26
259
+
260
+ ### Patch Changes
261
+
262
+ - [#2577](https://github.com/graphile/crystal/pull/2577)
263
+ [`0c6b1f1`](https://github.com/graphile/crystal/commit/0c6b1f1e188f6e2913832adfed9ca76dfdc25c47)
264
+ Thanks [@benjie](https://github.com/benjie)! - Update dependencies
265
+
266
+ - [#2577](https://github.com/graphile/crystal/pull/2577)
267
+ [`1f4544d`](https://github.com/graphile/crystal/commit/1f4544d011a1442688c4e34b677f7123f3ae6927)
268
+ Thanks [@benjie](https://github.com/benjie)! - Fix bug in Hono adaptor where
269
+ Content-Type header might be set more than once.
270
+
271
+ - [#2583](https://github.com/graphile/crystal/pull/2583)
272
+ [`faee38b`](https://github.com/graphile/crystal/commit/faee38bbff0421bbccfaa77c0dffa5c2d44e2b92)
273
+ Thanks [@benjie](https://github.com/benjie)! - 🚨 Upgrade to graphql-ws v6
274
+
275
+ - Updated dependencies
276
+ [[`00b3b8b`](https://github.com/graphile/crystal/commit/00b3b8baea55f0f8cb90c769baf63b408a593182),
277
+ [`0c6b1f1`](https://github.com/graphile/crystal/commit/0c6b1f1e188f6e2913832adfed9ca76dfdc25c47),
278
+ [`826f2cb`](https://github.com/graphile/crystal/commit/826f2cbff651273098d6b0d8c343aefeacfb5a14),
279
+ [`5311f9c`](https://github.com/graphile/crystal/commit/5311f9c8206fb3287b6aae6c4e7668ae920a4441),
280
+ [`e0cdabe`](https://github.com/graphile/crystal/commit/e0cdabe25c8894da550546c93bc03b895585544c),
281
+ [`faee38b`](https://github.com/graphile/crystal/commit/faee38bbff0421bbccfaa77c0dffa5c2d44e2b92)]:
282
+ - ruru@2.0.0-beta.24
283
+ - graphile-config@0.0.1-beta.17
284
+ - grafast@0.1.1-beta.23
285
+
286
+ ## 0.1.1-beta.25
287
+
288
+ ### Patch Changes
289
+
290
+ - [#2444](https://github.com/graphile/crystal/pull/2444)
291
+ [`192a27e08763ea26607344a2ea6c7f5c595cc2a3`](https://github.com/graphile/crystal/commit/192a27e08763ea26607344a2ea6c7f5c595cc2a3)
292
+ Thanks [@benjie](https://github.com/benjie)! - Upgrade to Mermaid 11, and
293
+ reduce verbosity of polymorphism in plan diagrams.
294
+
295
+ - [#2433](https://github.com/graphile/crystal/pull/2433)
296
+ [`6ef6abce15936a896156d5316020df55cf7d18e3`](https://github.com/graphile/crystal/commit/6ef6abce15936a896156d5316020df55cf7d18e3)
297
+ Thanks [@benjie](https://github.com/benjie)! - Add
298
+ `ctx.ws?.normalizedConnectionParams` which can be treated as headers (i.e. has
299
+ lower-cased keys).
300
+
301
+ - [#2437](https://github.com/graphile/crystal/pull/2437)
302
+ [`873b24dc70cea68e236e5dcf5bc7ff8f46fa43fe`](https://github.com/graphile/crystal/commit/873b24dc70cea68e236e5dcf5bc7ff8f46fa43fe)
303
+ Thanks [@benjie](https://github.com/benjie)! - Naked GraphQL errors (such as
304
+ those you'd see from coercion) are now treated as safe to output.
305
+
306
+ - [#2288](https://github.com/graphile/crystal/pull/2288)
307
+ [`eb771be5e8b06a0cd53476cb36495e7e1aca56b7`](https://github.com/graphile/crystal/commit/eb771be5e8b06a0cd53476cb36495e7e1aca56b7)
308
+ Thanks [@kzlar](https://github.com/kzlar)! - Add `@whatwg-node/server` HTTP
309
+ adaptor, thanks to @kzlar 🎉
310
+
311
+ - [#2482](https://github.com/graphile/crystal/pull/2482)
312
+ [`459e1869a2ec58925b2bac5458af487c52a8ca37`](https://github.com/graphile/crystal/commit/459e1869a2ec58925b2bac5458af487c52a8ca37)
313
+ Thanks [@benjie](https://github.com/benjie)! - Minimum version of Node.js
314
+ bumped to Node 22 (the latest LTS).
315
+
316
+ - Updated dependencies
317
+ [[`0e36cb9077c76710d2e407830323f86c5038126e`](https://github.com/graphile/crystal/commit/0e36cb9077c76710d2e407830323f86c5038126e),
318
+ [`c0c3f48fa9f60cb9a4436ea135979b779ecc71ec`](https://github.com/graphile/crystal/commit/c0c3f48fa9f60cb9a4436ea135979b779ecc71ec),
319
+ [`cef9a37f846b4af105ac20960530d65c9f44afa9`](https://github.com/graphile/crystal/commit/cef9a37f846b4af105ac20960530d65c9f44afa9),
320
+ [`56ce94a847c6a4094643665cbf5d3712f56140b6`](https://github.com/graphile/crystal/commit/56ce94a847c6a4094643665cbf5d3712f56140b6),
321
+ [`192a27e08763ea26607344a2ea6c7f5c595cc2a3`](https://github.com/graphile/crystal/commit/192a27e08763ea26607344a2ea6c7f5c595cc2a3),
322
+ [`6ef6abce15936a896156d5316020df55cf7d18e3`](https://github.com/graphile/crystal/commit/6ef6abce15936a896156d5316020df55cf7d18e3),
323
+ [`0239c2d519300a72f545e0db7c371adae4ade2a9`](https://github.com/graphile/crystal/commit/0239c2d519300a72f545e0db7c371adae4ade2a9),
324
+ [`0ea439d33ccef7f8d01ac5f54893ab2bbf1cbd4d`](https://github.com/graphile/crystal/commit/0ea439d33ccef7f8d01ac5f54893ab2bbf1cbd4d),
325
+ [`997c49648b62a93e5b915c65c49cdad1654bef3e`](https://github.com/graphile/crystal/commit/997c49648b62a93e5b915c65c49cdad1654bef3e),
326
+ [`8034614d1078b1bd177b6e7fcc949420614e3245`](https://github.com/graphile/crystal/commit/8034614d1078b1bd177b6e7fcc949420614e3245),
327
+ [`459e1869a2ec58925b2bac5458af487c52a8ca37`](https://github.com/graphile/crystal/commit/459e1869a2ec58925b2bac5458af487c52a8ca37),
328
+ [`c350e49e372ec12a4cbf04fb6b4260e01832d12b`](https://github.com/graphile/crystal/commit/c350e49e372ec12a4cbf04fb6b4260e01832d12b),
329
+ [`3176ea3e57d626b39613a73117ef97627370ec83`](https://github.com/graphile/crystal/commit/3176ea3e57d626b39613a73117ef97627370ec83),
330
+ [`46a42f5547c041289aa98657ebc6815f4b6c8539`](https://github.com/graphile/crystal/commit/46a42f5547c041289aa98657ebc6815f4b6c8539),
331
+ [`be3f174c5aae8fe78a240e1bc4e1de7f18644b43`](https://github.com/graphile/crystal/commit/be3f174c5aae8fe78a240e1bc4e1de7f18644b43),
332
+ [`576fb8bad56cb940ab444574d752e914d462018a`](https://github.com/graphile/crystal/commit/576fb8bad56cb940ab444574d752e914d462018a),
333
+ [`9f459101fa4428aa4bac71531e75f99e33da8e17`](https://github.com/graphile/crystal/commit/9f459101fa4428aa4bac71531e75f99e33da8e17),
334
+ [`921665df8babe2651ab3b5886ab68bb518f2125b`](https://github.com/graphile/crystal/commit/921665df8babe2651ab3b5886ab68bb518f2125b),
335
+ [`78bb1a615754d772a5fda000e96073c91fa9eba7`](https://github.com/graphile/crystal/commit/78bb1a615754d772a5fda000e96073c91fa9eba7),
336
+ [`ab0bcda5fc3c136eea09493a7d9ed4542975858e`](https://github.com/graphile/crystal/commit/ab0bcda5fc3c136eea09493a7d9ed4542975858e),
337
+ [`455f4811d37ad8fff91183c7a88621bcf9d79acf`](https://github.com/graphile/crystal/commit/455f4811d37ad8fff91183c7a88621bcf9d79acf),
338
+ [`45adaff886e7cd72b864150927be6c0cb4a7dfe8`](https://github.com/graphile/crystal/commit/45adaff886e7cd72b864150927be6c0cb4a7dfe8)]:
339
+ - grafast@0.1.1-beta.22
340
+ - ruru@2.0.0-beta.23
341
+ - graphile-config@0.0.1-beta.16
342
+ - @graphile/lru@5.0.0-beta.4
343
+
344
+ ## 0.1.1-beta.24
345
+
346
+ ### Patch Changes
347
+
348
+ - Updated dependencies
349
+ [[`658d46c9a5b246e3beb4ba2a004334278f7bb24d`](https://github.com/graphile/crystal/commit/658d46c9a5b246e3beb4ba2a004334278f7bb24d)]:
350
+ - ruru@2.0.0-beta.22
351
+
352
+ ## 0.1.1-beta.23
353
+
354
+ ### Patch Changes
355
+
356
+ - Updated dependencies
357
+ [[`d34014a9a3c469154cc796086ba13719954731e5`](https://github.com/graphile/crystal/commit/d34014a9a3c469154cc796086ba13719954731e5),
358
+ [`98516379ac355a0833a64e002f3717cc3a1d6473`](https://github.com/graphile/crystal/commit/98516379ac355a0833a64e002f3717cc3a1d6473),
359
+ [`f8602d05eed3247c90b87c55d7af580d1698effc`](https://github.com/graphile/crystal/commit/f8602d05eed3247c90b87c55d7af580d1698effc),
360
+ [`65df25534fa3f787ba2ab7fd9547d295ff2b1288`](https://github.com/graphile/crystal/commit/65df25534fa3f787ba2ab7fd9547d295ff2b1288),
361
+ [`1b3c76efd27df73eab3a5a1d221ce13de4cd6b1a`](https://github.com/graphile/crystal/commit/1b3c76efd27df73eab3a5a1d221ce13de4cd6b1a),
362
+ [`3c0a925f26f10cae627a23c49c75ccd8d76b60c8`](https://github.com/graphile/crystal/commit/3c0a925f26f10cae627a23c49c75ccd8d76b60c8),
363
+ [`fcaeb48844156e258a037f420ea1505edb50c52a`](https://github.com/graphile/crystal/commit/fcaeb48844156e258a037f420ea1505edb50c52a),
364
+ [`68926abc31c32ce527327ffbb1ede4b0b7be446b`](https://github.com/graphile/crystal/commit/68926abc31c32ce527327ffbb1ede4b0b7be446b),
365
+ [`4b49dbd2df3b339a2ba3f1e9ff400fa1a125298b`](https://github.com/graphile/crystal/commit/4b49dbd2df3b339a2ba3f1e9ff400fa1a125298b),
366
+ [`d7950e8e28ec6106a4ce2f7fe5e35d88b10eac48`](https://github.com/graphile/crystal/commit/d7950e8e28ec6106a4ce2f7fe5e35d88b10eac48),
367
+ [`c8f1971ea4198633ec97f72f82abf65089f71a88`](https://github.com/graphile/crystal/commit/c8f1971ea4198633ec97f72f82abf65089f71a88),
368
+ [`dd3d22eab73a8554715bf1111e30586251f69a88`](https://github.com/graphile/crystal/commit/dd3d22eab73a8554715bf1111e30586251f69a88),
369
+ [`a120a8e43b24dfc174950cdbb69e481272a0b45e`](https://github.com/graphile/crystal/commit/a120a8e43b24dfc174950cdbb69e481272a0b45e),
370
+ [`84f06eafa051e907a3050237ac6ee5aefb184652`](https://github.com/graphile/crystal/commit/84f06eafa051e907a3050237ac6ee5aefb184652),
371
+ [`4a3aeaa77c8b8d2e39c1a9d05581d0c613b812cf`](https://github.com/graphile/crystal/commit/4a3aeaa77c8b8d2e39c1a9d05581d0c613b812cf),
372
+ [`0fc2db95d90df918cf5c59ef85f22ac78d8000d3`](https://github.com/graphile/crystal/commit/0fc2db95d90df918cf5c59ef85f22ac78d8000d3),
373
+ [`90e81a5deeae554a8be2dd55dcd01489860e96e6`](https://github.com/graphile/crystal/commit/90e81a5deeae554a8be2dd55dcd01489860e96e6),
374
+ [`c59132eb7a93bc82493d2f1ca050db8aaea9f4d1`](https://github.com/graphile/crystal/commit/c59132eb7a93bc82493d2f1ca050db8aaea9f4d1),
375
+ [`7c38cdeffe034c9b4f5cdd03a8f7f446bd52dcb7`](https://github.com/graphile/crystal/commit/7c38cdeffe034c9b4f5cdd03a8f7f446bd52dcb7),
376
+ [`728888b28fcd2a6fc481e0ccdfe20d41181a091f`](https://github.com/graphile/crystal/commit/728888b28fcd2a6fc481e0ccdfe20d41181a091f),
377
+ [`f4f39092d7a51517668384945895d3b450237cce`](https://github.com/graphile/crystal/commit/f4f39092d7a51517668384945895d3b450237cce),
378
+ [`5cf3dc9d158891eaf324b2cd4f485d1d4bbb6b5e`](https://github.com/graphile/crystal/commit/5cf3dc9d158891eaf324b2cd4f485d1d4bbb6b5e),
379
+ [`83d3b533e702cc875b46ba2ca02bf3642b421be8`](https://github.com/graphile/crystal/commit/83d3b533e702cc875b46ba2ca02bf3642b421be8),
380
+ [`7001138c38e09822ad13db1018c62d2cac37941e`](https://github.com/graphile/crystal/commit/7001138c38e09822ad13db1018c62d2cac37941e),
381
+ [`e9e7e33665e22ec397e9ead054d2e4aad3eadc8c`](https://github.com/graphile/crystal/commit/e9e7e33665e22ec397e9ead054d2e4aad3eadc8c),
382
+ [`bb6ec8d834e3e630e28316196246f514114a2296`](https://github.com/graphile/crystal/commit/bb6ec8d834e3e630e28316196246f514114a2296),
383
+ [`2b1918d053f590cdc534c8cb81f7e74e96c1bbe6`](https://github.com/graphile/crystal/commit/2b1918d053f590cdc534c8cb81f7e74e96c1bbe6),
384
+ [`d1ecb39693a341f85762b27012ec4ea013857b0c`](https://github.com/graphile/crystal/commit/d1ecb39693a341f85762b27012ec4ea013857b0c),
385
+ [`042ebafe11fcf7e2ecac9b131265a55dddd42a6d`](https://github.com/graphile/crystal/commit/042ebafe11fcf7e2ecac9b131265a55dddd42a6d),
386
+ [`fa005eb0783c58a2476add984fbdd462e0e91dbe`](https://github.com/graphile/crystal/commit/fa005eb0783c58a2476add984fbdd462e0e91dbe),
387
+ [`df0e5a0f968cf6f9ae97b68745a9a2f391324bf5`](https://github.com/graphile/crystal/commit/df0e5a0f968cf6f9ae97b68745a9a2f391324bf5),
388
+ [`ef4cf75acd80e6b9c700c2b5a7ace899e565ef7f`](https://github.com/graphile/crystal/commit/ef4cf75acd80e6b9c700c2b5a7ace899e565ef7f),
389
+ [`c041fd250372c57601188b65a6411c8f440afab6`](https://github.com/graphile/crystal/commit/c041fd250372c57601188b65a6411c8f440afab6),
390
+ [`629b45aab49151810f6efc18ac18f7d735626433`](https://github.com/graphile/crystal/commit/629b45aab49151810f6efc18ac18f7d735626433),
391
+ [`6d19724330d50d076aab9442660fa8abddd095cb`](https://github.com/graphile/crystal/commit/6d19724330d50d076aab9442660fa8abddd095cb),
392
+ [`ca5bc1a834df7b894088fb8602a12f9fcff55b38`](https://github.com/graphile/crystal/commit/ca5bc1a834df7b894088fb8602a12f9fcff55b38),
393
+ [`da6f3c04efe3d8634c0bc3fcf93ac2518de85322`](https://github.com/graphile/crystal/commit/da6f3c04efe3d8634c0bc3fcf93ac2518de85322),
394
+ [`00d79e6f5608affc3f36bb0ce4ca2547230174e7`](https://github.com/graphile/crystal/commit/00d79e6f5608affc3f36bb0ce4ca2547230174e7),
395
+ [`f0bc64b71914dfdd3612f4b65370401fd85b97bc`](https://github.com/graphile/crystal/commit/f0bc64b71914dfdd3612f4b65370401fd85b97bc)]:
396
+ - grafast@0.1.1-beta.21
397
+ - graphile-config@0.0.1-beta.15
398
+ - ruru@2.0.0-beta.21
399
+
400
+ ## 0.1.1-beta.22
401
+
402
+ ### Patch Changes
403
+
404
+ - Updated dependencies
405
+ [[`fc9d64eb8`](https://github.com/graphile/crystal/commit/fc9d64eb8002d3b72625bc505ed76c07f4296d68),
406
+ [`a2dbad945`](https://github.com/graphile/crystal/commit/a2dbad9457195bec797d72e4e6d45f45278f9f69),
407
+ [`31078842a`](https://github.com/graphile/crystal/commit/31078842ad0eeaa7111491fa9eb5e3bd026fb38a),
408
+ [`5a0ec31de`](https://github.com/graphile/crystal/commit/5a0ec31deae91f1dd17a77a4bb7c1a911a27e26a),
409
+ [`ba2847f3e`](https://github.com/graphile/crystal/commit/ba2847f3e87b3c081e4b9fc4e62a81cc8bd8bb15)]:
410
+ - grafast@0.1.1-beta.20
411
+ - ruru@2.0.0-beta.20
412
+
413
+ ## 0.1.1-beta.21
414
+
415
+ ### Patch Changes
416
+
417
+ - Updated dependencies
418
+ [[`83c546509`](https://github.com/graphile/crystal/commit/83c546509d24be2955a56120981363ad3c3a5f3f)]:
419
+ - graphile-config@0.0.1-beta.14
420
+ - grafast@0.1.1-beta.19
421
+ - ruru@2.0.0-beta.19
422
+
423
+ ## 0.1.1-beta.20
424
+
425
+ ### Patch Changes
426
+
427
+ - Updated dependencies
428
+ [[`7580bc16a`](https://github.com/graphile/crystal/commit/7580bc16a050fd8d916c6dabe9d1ded980090349),
429
+ [`b336a5829`](https://github.com/graphile/crystal/commit/b336a58291cfec7aef884d3843172d408abfaf3c)]:
430
+ - graphile-config@0.0.1-beta.13
431
+ - grafast@0.1.1-beta.18
432
+ - ruru@2.0.0-beta.18
433
+
434
+ ## 0.1.1-beta.19
435
+
436
+ ### Patch Changes
437
+
438
+ - [#2252](https://github.com/graphile/crystal/pull/2252)
439
+ [`866673e14`](https://github.com/graphile/crystal/commit/866673e14f7ad76b6f6d83d1b4e3a4eff8fdba37)
440
+ Thanks [@benjie](https://github.com/benjie)! - Overhaul maskError types to
441
+ return GraphQLFormattedError.
442
+
443
+ - [#2240](https://github.com/graphile/crystal/pull/2240)
444
+ [`9a0f9e78c`](https://github.com/graphile/crystal/commit/9a0f9e78c4ee46f50f49bb068baddef7e1de4119)
445
+ Thanks [@benjie](https://github.com/benjie)! - Adopt new MiddlewareHandlers
446
+ type for simplicity, and in doing so fix type of middleware (for plugins) that
447
+ incorrectly unwrapped promise resulting in TypeScript incorrectly suggesting
448
+ that `await` was not necessary.
449
+ - Updated dependencies
450
+ [[`69ab227b5`](https://github.com/graphile/crystal/commit/69ab227b5e1c057a6fc8ebba87bde80d5aa7f3c8),
451
+ [`38163c86a`](https://github.com/graphile/crystal/commit/38163c86ae628fed84cf38fc6a1cc76a7bc7932a),
452
+ [`d13b76f0f`](https://github.com/graphile/crystal/commit/d13b76f0fef2a58466ecb44880af62d25910e83e),
453
+ [`b167bd849`](https://github.com/graphile/crystal/commit/b167bd8499be5866b71bac6594d55bd768fda1d0),
454
+ [`6a13ecbd4`](https://github.com/graphile/crystal/commit/6a13ecbd45534c39c846c1d8bc58242108426dd1)]:
455
+ - grafast@0.1.1-beta.17
456
+ - ruru@2.0.0-beta.17
457
+ - graphile-config@0.0.1-beta.12
458
+
459
+ ## 0.1.1-beta.18
460
+
461
+ ### Patch Changes
462
+
463
+ - [#2204](https://github.com/graphile/crystal/pull/2204)
464
+ [`bf2a2e72a`](https://github.com/graphile/crystal/commit/bf2a2e72ab78a01f5aba6cda97b5a125563b1f3d)
465
+ Thanks [@Dodobibi](https://github.com/Dodobibi)! - Overhaul websocket support
466
+ in nuxt/h3 server adaptor. Removes experimental methods since they are no
467
+ longer needed. Docs have been updated - please follow the docs. Any issues,
468
+ please let us know (or better: open a PR!)
469
+ - Updated dependencies
470
+ [[`5626c7d36`](https://github.com/graphile/crystal/commit/5626c7d3649285e11fe9857dfa319d2883d027eb),
471
+ [`76c7340b7`](https://github.com/graphile/crystal/commit/76c7340b74d257c454beec883384d19ef078b21e)]:
472
+ - graphile-config@0.0.1-beta.11
473
+ - grafast@0.1.1-beta.16
474
+ - ruru@2.0.0-beta.16
475
+
476
+ ## 0.1.1-beta.17
477
+
478
+ ### Patch Changes
479
+
480
+ - Updated dependencies
481
+ [[`d5834def1`](https://github.com/graphile/crystal/commit/d5834def1fb84f3e2c0c0a6f146f8249a6df890a),
482
+ [`42b982463`](https://github.com/graphile/crystal/commit/42b9824637a6c05e02935f2b05b5e8e0c61965a6),
483
+ [`884a4b429`](https://github.com/graphile/crystal/commit/884a4b4297af90fdadaf73addd524f1fbbcfdcce),
484
+ [`38835313a`](https://github.com/graphile/crystal/commit/38835313ad93445206dccdd4cf07b90c5a6e4377),
485
+ [`cc0941731`](https://github.com/graphile/crystal/commit/cc0941731a1679bc04ce7b7fd4254009bb5f1f62),
486
+ [`b0865d169`](https://github.com/graphile/crystal/commit/b0865d1691105b5419009954c98c8109a27a5d81),
487
+ [`8b472cd51`](https://github.com/graphile/crystal/commit/8b472cd51cd66d8227f9f2722d09c0a774792b0f),
488
+ [`9cd9bb522`](https://github.com/graphile/crystal/commit/9cd9bb5222a9f0398ee4b8bfa4f741b6de2a2192)]:
489
+ - grafast@0.1.1-beta.15
490
+ - graphile-config@0.0.1-beta.10
491
+ - ruru@2.0.0-beta.15
492
+
493
+ ## 0.1.1-beta.16
494
+
495
+ ### Patch Changes
496
+
497
+ - Updated dependencies
498
+ [[`871d32b2a`](https://github.com/graphile/crystal/commit/871d32b2a18df0d257880fc54a61d9e68c4607d6),
499
+ [`a26e3a30c`](https://github.com/graphile/crystal/commit/a26e3a30c02f963f8f5e9c9d021e871f33689e1b),
500
+ [`02c11a4d4`](https://github.com/graphile/crystal/commit/02c11a4d42bf434dffc9354b300e8d791c4eeb2d)]:
501
+ - grafast@0.1.1-beta.14
502
+ - ruru@2.0.0-beta.14
503
+
504
+ ## 0.1.1-beta.15
505
+
506
+ ### Patch Changes
507
+
508
+ - Updated dependencies
509
+ [[`807650035`](https://github.com/graphile/crystal/commit/8076500354a3e2bc2de1b6c4e947bd710cc5bddc)]:
510
+ - grafast@0.1.1-beta.13
511
+ - ruru@2.0.0-beta.14
512
+
513
+ ## 0.1.1-beta.14
514
+
515
+ ### Patch Changes
516
+
517
+ - [#2097](https://github.com/graphile/crystal/pull/2097)
518
+ [`61f8bbca5`](https://github.com/graphile/crystal/commit/61f8bbca5badda5b27872e0ee01a2d4c1372210d)
519
+ Thanks [@FelixZY](https://github.com/FelixZY)! - Improve logging of masked
520
+ errors (thanks @FelixZY)
521
+
522
+ - Updated dependencies
523
+ [[`1bd50b61e`](https://github.com/graphile/crystal/commit/1bd50b61ebb10b7d09b3612c2e2767c41cca3b78),
524
+ [`4e102b1a1`](https://github.com/graphile/crystal/commit/4e102b1a1cd232e6f6703df0706415f01831dab2),
525
+ [`7bb1573ba`](https://github.com/graphile/crystal/commit/7bb1573ba45a4d8b7fa9ad53cdd79686d2641383),
526
+ [`18addb385`](https://github.com/graphile/crystal/commit/18addb3852525aa91019a36d58fa2fecd8b5b443),
527
+ [`6ed615e55`](https://github.com/graphile/crystal/commit/6ed615e557b2ab1fb57f1e68c06730a8e3da7175),
528
+ [`b25cc539c`](https://github.com/graphile/crystal/commit/b25cc539c00aeda7a943c37509aaae4dc7812317),
529
+ [`867f33136`](https://github.com/graphile/crystal/commit/867f331365346fc46ed1e0d23c79719846e398f4),
530
+ [`cf535c210`](https://github.com/graphile/crystal/commit/cf535c21078da06c14dd12f30e9b4378da4ded03),
531
+ [`acf99b190`](https://github.com/graphile/crystal/commit/acf99b190954e3c5926e820daed68dfe8eb3ee1f),
532
+ [`4967a197f`](https://github.com/graphile/crystal/commit/4967a197fd2c71ee2a581fe29470ee9f30e74de5),
533
+ [`1908e1ba1`](https://github.com/graphile/crystal/commit/1908e1ba11883a34dac66f985fc20ab160e572b1),
534
+ [`084d80be6`](https://github.com/graphile/crystal/commit/084d80be6e17187c9a9932bcf079e3f460368782)]:
535
+ - grafast@0.1.1-beta.12
536
+ - ruru@2.0.0-beta.14
537
+
538
+ ## 0.1.1-beta.13
539
+
540
+ ### Patch Changes
541
+
542
+ - [#2071](https://github.com/graphile/crystal/pull/2071)
543
+ [`582bd768f`](https://github.com/graphile/crystal/commit/582bd768fec403ce3284f293b85b9fd86e4d3f40)
544
+ Thanks [@benjie](https://github.com/benjie)! - `GrafastExecutionArgs` now
545
+ accepts `resolvedPreset` and `requestContext` directly; passing these through
546
+ additional arguments is now deprecated and support will be removed in a future
547
+ revision. This affects:
548
+ - `grafast()`
549
+ - `execute()`
550
+ - `subscribe()`
551
+ - `hookArgs()`
552
+
553
+ `graphile-config` has gained a middleware system which is more powerful than
554
+ it's AsyncHooks system. Old hooks can be emulated through the middleware
555
+ system safely since middleware is a superset of hooks' capabilities.
556
+ `applyHooks` has been renamed to `orderedApply` (because it applies to more
557
+ than just hooks), calling `applyHooks` will still work but is deprecated.
558
+
559
+ 🚨 `grafast` no longer automatically reads your `graphile.config.ts` or
560
+ similar; you must do that yourself and pass the `resolvedPreset` to grafast
561
+ via the `args`. This is to aid in bundling of grafast since it should not need
562
+ to read from filesystem or dynamically load modules.
563
+
564
+ `grafast` no longer outputs performance warning when you set
565
+ `GRAPHILE_ENV=development`.
566
+
567
+ 🚨 `plugin.grafast.hooks.args` is now `plugin.grafast.middleware.prepareArgs`,
568
+ and the signature has changed - you must be sure to call the `next()` function
569
+ and ctx/resolvedPreset can be extracted directly from `args`:
570
+
571
+ ```diff
572
+ const plugin = {
573
+ grafast: {
574
+ - hooks: {
575
+ + middleware: {
576
+ - args({ args, ctx, resolvedPreset }) {
577
+ + prepareArgs(next, { args }) {
578
+ + const { requestContext: ctx, resolvedPreset } = args;
579
+ // ...
580
+ + return next();
581
+ }
582
+ }
583
+ }
584
+ }
585
+ ```
586
+
587
+ Many more middleware have been added; use TypeScript's autocomplete to see
588
+ what's available until we have proper documentation for them.
589
+
590
+ `plugin.grafserv.hooks.*` are still supported but deprecated; instead use
591
+ middleware `plugin.grafserv.middleware.*` (note that call signatures have
592
+ changed slightly, similar to the diff above):
593
+ - `hooks.init` -> `middleware.setPreset`
594
+ - `hooks.processGraphQLRequestBody` -> `middleware.processGraphQLRequestBody`
595
+ - `hooks.ruruHTMLParts` -> `middleware.ruruHTMLParts`
596
+
597
+ A few TypeScript types related to Hooks have been renamed, but their old names
598
+ are still available, just deprecated. They will be removed in a future update:
599
+ - `HookObject` -> `FunctionalityObject`
600
+ - `PluginHook` -> `CallbackOrDescriptor`
601
+ - `PluginHookObject` -> `CallbackDescriptor`
602
+ - `PluginHookCallback` -> `UnwrapCallback`
603
+
604
+ - Updated dependencies
605
+ [[`582bd768f`](https://github.com/graphile/crystal/commit/582bd768fec403ce3284f293b85b9fd86e4d3f40)]:
606
+ - graphile-config@0.0.1-beta.9
607
+ - grafast@0.1.1-beta.11
608
+ - ruru@2.0.0-beta.13
609
+
610
+ ## 0.1.1-beta.12
611
+
612
+ ### Patch Changes
613
+
614
+ - Updated dependencies
615
+ [[`3c161f7e1`](https://github.com/graphile/crystal/commit/3c161f7e13375105b1035a7d5d1c0f2b507ca5c7),
616
+ [`a674a9923`](https://github.com/graphile/crystal/commit/a674a9923bc908c9315afa40e0cb256ee0953d16),
617
+ [`b7cfeffd1`](https://github.com/graphile/crystal/commit/b7cfeffd1019d61c713a5054c4f5929960a2a6ab)]:
618
+ - grafast@0.1.1-beta.10
619
+ - ruru@2.0.0-beta.12
620
+
621
+ ## 0.1.1-beta.11
622
+
623
+ ### Patch Changes
624
+
625
+ - Updated dependencies
626
+ [[`437570f97`](https://github.com/graphile/crystal/commit/437570f97e8520afaf3d0d0b514d1f4c31546b76)]:
627
+ - grafast@0.1.1-beta.9
628
+ - ruru@2.0.0-beta.12
629
+
630
+ ## 0.1.1-beta.10
631
+
632
+ ### Patch Changes
633
+
634
+ - Updated dependencies
635
+ [[`bd5a908a4`](https://github.com/graphile/crystal/commit/bd5a908a4d04310f90dfb46ad87398ffa993af3b)]:
636
+ - grafast@0.1.1-beta.8
637
+ - ruru@2.0.0-beta.12
638
+
3
639
  ## 0.1.1-beta.9
4
640
 
5
641
  ### Patch Changes
package/README.md CHANGED
@@ -25,12 +25,7 @@ And please give some love to our featured sponsors 🤩:
25
25
 
26
26
  <table><tr>
27
27
  <td align="center"><a href="https://www.the-guild.dev/"><img src="https://graphile.org/images/sponsors/theguild.png" width="90" height="90" alt="The Guild" /><br />The Guild</a> *</td>
28
- <td align="center"><a href="https://dovetailapp.com/"><img src="https://graphile.org/images/sponsors/dovetail.png" width="90" height="90" alt="Dovetail" /><br />Dovetail</a> *</td>
29
- <td align="center"><a href="https://www.netflix.com/"><img src="https://graphile.org/images/sponsors/Netflix.png" width="90" height="90" alt="Netflix" /><br />Netflix</a> *</td>
30
- <td align="center"><a href="https://stellate.co/"><img src="https://graphile.org/images/sponsors/Stellate.png" width="90" height="90" alt="Stellate" /><br />Stellate</a> *</td>
31
- </tr><tr>
32
28
  <td align="center"><a href="https://gosteelhead.com/"><img src="https://graphile.org/images/sponsors/steelhead.svg" width="90" height="90" alt="Steelhead" /><br />Steelhead</a> *</td>
33
- <td align="center"><a href="https://www.sylvera.com/"><img src="https://graphile.org/images/sponsors/sylvera.svg" width="90" height="90" alt="Sylvera" /><br />Sylvera</a> *</td>
34
29
  </tr></table>
35
30
 
36
31
  <em>\* Sponsors the entire Graphile suite</em>