graphile-build 5.0.0-beta.3 → 5.0.0-beta.31

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 (127) hide show
  1. package/CHANGELOG.md +610 -0
  2. package/README.md +6 -8
  3. package/dist/SchemaBuilder.d.ts +3 -5
  4. package/dist/SchemaBuilder.d.ts.map +1 -1
  5. package/dist/SchemaBuilder.js +11 -8
  6. package/dist/SchemaBuilder.js.map +1 -1
  7. package/dist/behavior.d.ts +26 -6
  8. package/dist/behavior.d.ts.map +1 -1
  9. package/dist/behavior.js +419 -88
  10. package/dist/behavior.js.map +1 -1
  11. package/dist/global.d.ts +33 -3
  12. package/dist/global.d.ts.map +1 -1
  13. package/dist/index.d.ts +239 -5
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +61 -45
  16. package/dist/index.js.map +1 -1
  17. package/dist/interfaces.d.ts +34 -232
  18. package/dist/interfaces.d.ts.map +1 -1
  19. package/dist/makeNewBuild.d.ts.map +1 -1
  20. package/dist/makeNewBuild.js +88 -17
  21. package/dist/makeNewBuild.js.map +1 -1
  22. package/dist/newWithHooks/index.d.ts.map +1 -1
  23. package/dist/newWithHooks/index.js +123 -77
  24. package/dist/newWithHooks/index.js.map +1 -1
  25. package/dist/plugins/AddInterfaceSubtypesToTypesPlugin.d.ts +10 -0
  26. package/dist/plugins/AddInterfaceSubtypesToTypesPlugin.d.ts.map +1 -0
  27. package/dist/plugins/AddInterfaceSubtypesToTypesPlugin.js +31 -0
  28. package/dist/plugins/AddInterfaceSubtypesToTypesPlugin.js.map +1 -0
  29. package/dist/plugins/AddNodeInterfaceToSuitableTypesPlugin.d.ts +7 -0
  30. package/dist/plugins/AddNodeInterfaceToSuitableTypesPlugin.d.ts.map +1 -1
  31. package/dist/plugins/AddNodeInterfaceToSuitableTypesPlugin.js +41 -8
  32. package/dist/plugins/AddNodeInterfaceToSuitableTypesPlugin.js.map +1 -1
  33. package/dist/plugins/BuiltinScalarConnectionsPlugin.d.ts +7 -0
  34. package/dist/plugins/BuiltinScalarConnectionsPlugin.d.ts.map +1 -1
  35. package/dist/plugins/BuiltinScalarConnectionsPlugin.js.map +1 -1
  36. package/dist/plugins/ClientMutationIdDescriptionPlugin.d.ts +10 -0
  37. package/dist/plugins/ClientMutationIdDescriptionPlugin.d.ts.map +1 -1
  38. package/dist/plugins/ClientMutationIdDescriptionPlugin.js.map +1 -1
  39. package/dist/plugins/CollectReferencedTypesPlugin.d.ts +10 -0
  40. package/dist/plugins/CollectReferencedTypesPlugin.d.ts.map +1 -0
  41. package/dist/plugins/CollectReferencedTypesPlugin.js +34 -0
  42. package/dist/plugins/CollectReferencedTypesPlugin.js.map +1 -0
  43. package/dist/plugins/CommonBehaviorsPlugin.d.ts +16 -0
  44. package/dist/plugins/CommonBehaviorsPlugin.d.ts.map +1 -0
  45. package/dist/plugins/CommonBehaviorsPlugin.js +44 -0
  46. package/dist/plugins/CommonBehaviorsPlugin.js.map +1 -0
  47. package/dist/plugins/CommonTypesPlugin.d.ts +5 -0
  48. package/dist/plugins/CommonTypesPlugin.d.ts.map +1 -1
  49. package/dist/plugins/CommonTypesPlugin.js.map +1 -1
  50. package/dist/plugins/ConnectionPlugin.d.ts +5 -0
  51. package/dist/plugins/ConnectionPlugin.d.ts.map +1 -1
  52. package/dist/plugins/ConnectionPlugin.js +35 -33
  53. package/dist/plugins/ConnectionPlugin.js.map +1 -1
  54. package/dist/plugins/CursorTypePlugin.d.ts +8 -0
  55. package/dist/plugins/CursorTypePlugin.d.ts.map +1 -1
  56. package/dist/plugins/CursorTypePlugin.js.map +1 -1
  57. package/dist/plugins/MutationPayloadQueryPlugin.d.ts +10 -0
  58. package/dist/plugins/MutationPayloadQueryPlugin.d.ts.map +1 -1
  59. package/dist/plugins/MutationPayloadQueryPlugin.js +3 -3
  60. package/dist/plugins/MutationPayloadQueryPlugin.js.map +1 -1
  61. package/dist/plugins/MutationPlugin.d.ts +10 -0
  62. package/dist/plugins/MutationPlugin.d.ts.map +1 -1
  63. package/dist/plugins/MutationPlugin.js.map +1 -1
  64. package/dist/plugins/NodeAccessorPlugin.d.ts +11 -7
  65. package/dist/plugins/NodeAccessorPlugin.d.ts.map +1 -1
  66. package/dist/plugins/NodeAccessorPlugin.js +5 -6
  67. package/dist/plugins/NodeAccessorPlugin.js.map +1 -1
  68. package/dist/plugins/NodeIdCodecBase64JSONPlugin.d.ts +7 -0
  69. package/dist/plugins/NodeIdCodecBase64JSONPlugin.d.ts.map +1 -1
  70. package/dist/plugins/NodeIdCodecBase64JSONPlugin.js +17 -10
  71. package/dist/plugins/NodeIdCodecBase64JSONPlugin.js.map +1 -1
  72. package/dist/plugins/NodeIdCodecPipeStringPlugin.d.ts +7 -0
  73. package/dist/plugins/NodeIdCodecPipeStringPlugin.d.ts.map +1 -1
  74. package/dist/plugins/NodeIdCodecPipeStringPlugin.js +3 -2
  75. package/dist/plugins/NodeIdCodecPipeStringPlugin.js.map +1 -1
  76. package/dist/plugins/NodePlugin.d.ts +6 -8
  77. package/dist/plugins/NodePlugin.d.ts.map +1 -1
  78. package/dist/plugins/NodePlugin.js +14 -1
  79. package/dist/plugins/NodePlugin.js.map +1 -1
  80. package/dist/plugins/PageInfoStartEndCursorPlugin.d.ts +5 -0
  81. package/dist/plugins/PageInfoStartEndCursorPlugin.d.ts.map +1 -1
  82. package/dist/plugins/PageInfoStartEndCursorPlugin.js.map +1 -1
  83. package/dist/plugins/QueryPlugin.d.ts +10 -0
  84. package/dist/plugins/QueryPlugin.d.ts.map +1 -1
  85. package/dist/plugins/QueryPlugin.js +7 -3
  86. package/dist/plugins/QueryPlugin.js.map +1 -1
  87. package/dist/plugins/QueryQueryPlugin.d.ts +7 -0
  88. package/dist/plugins/QueryQueryPlugin.d.ts.map +1 -1
  89. package/dist/plugins/QueryQueryPlugin.js +3 -3
  90. package/dist/plugins/QueryQueryPlugin.js.map +1 -1
  91. package/dist/plugins/RegisterQueryNodePlugin.d.ts +7 -0
  92. package/dist/plugins/RegisterQueryNodePlugin.d.ts.map +1 -1
  93. package/dist/plugins/RegisterQueryNodePlugin.js +3 -3
  94. package/dist/plugins/RegisterQueryNodePlugin.js.map +1 -1
  95. package/dist/plugins/StreamDeferPlugin.d.ts +7 -0
  96. package/dist/plugins/StreamDeferPlugin.d.ts.map +1 -1
  97. package/dist/plugins/StreamDeferPlugin.js.map +1 -1
  98. package/dist/plugins/SubscriptionPlugin.d.ts +10 -0
  99. package/dist/plugins/SubscriptionPlugin.d.ts.map +1 -1
  100. package/dist/plugins/SubscriptionPlugin.js.map +1 -1
  101. package/dist/plugins/SwallowErrorsPlugin.d.ts +10 -0
  102. package/dist/plugins/SwallowErrorsPlugin.d.ts.map +1 -1
  103. package/dist/plugins/SwallowErrorsPlugin.js.map +1 -1
  104. package/dist/plugins/TrimEmptyDescriptionsPlugin.d.ts +7 -0
  105. package/dist/plugins/TrimEmptyDescriptionsPlugin.d.ts.map +1 -1
  106. package/dist/plugins/TrimEmptyDescriptionsPlugin.js.map +1 -1
  107. package/dist/plugins/index.d.ts +4 -1
  108. package/dist/plugins/index.d.ts.map +1 -1
  109. package/dist/plugins/index.js +7 -1
  110. package/dist/plugins/index.js.map +1 -1
  111. package/dist/preset.d.ts +17 -0
  112. package/dist/preset.d.ts.map +1 -1
  113. package/dist/preset.js +27 -1
  114. package/dist/preset.js.map +1 -1
  115. package/dist/utils.d.ts +5 -3
  116. package/dist/utils.d.ts.map +1 -1
  117. package/dist/utils.js +34 -2
  118. package/dist/utils.js.map +1 -1
  119. package/dist/vendor/collectReferencedTypes.d.ts +3 -0
  120. package/dist/vendor/collectReferencedTypes.d.ts.map +1 -0
  121. package/dist/vendor/collectReferencedTypes.js +62 -0
  122. package/dist/vendor/collectReferencedTypes.js.map +1 -0
  123. package/dist/version.d.ts +1 -1
  124. package/dist/version.d.ts.map +1 -1
  125. package/dist/version.js +1 -1
  126. package/dist/version.js.map +1 -1
  127. package/package.json +18 -17
package/CHANGELOG.md CHANGED
@@ -1,5 +1,615 @@
1
1
  # graphile-build
2
2
 
3
+ ## 5.0.0-beta.31
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+ [[`83c546509`](https://github.com/graphile/crystal/commit/83c546509d24be2955a56120981363ad3c3a5f3f)]:
9
+ - graphile-config@0.0.1-beta.14
10
+ - grafast@0.1.1-beta.19
11
+
12
+ ## 5.0.0-beta.30
13
+
14
+ ### Patch Changes
15
+
16
+ - Updated dependencies
17
+ [[`7580bc16a`](https://github.com/graphile/crystal/commit/7580bc16a050fd8d916c6dabe9d1ded980090349),
18
+ [`b336a5829`](https://github.com/graphile/crystal/commit/b336a58291cfec7aef884d3843172d408abfaf3c)]:
19
+ - graphile-config@0.0.1-beta.13
20
+ - grafast@0.1.1-beta.18
21
+
22
+ ## 5.0.0-beta.29
23
+
24
+ ### Patch Changes
25
+
26
+ - [#2251](https://github.com/graphile/crystal/pull/2251)
27
+ [`555d65cce`](https://github.com/graphile/crystal/commit/555d65ccecb875f1e34cb40108176f0ddc11df64)
28
+ Thanks [@benjie](https://github.com/benjie)! - We now enforce GraphQL name
29
+ checks earlier and supply more information to better reveal where any invalid
30
+ names are originating.
31
+
32
+ - [#2251](https://github.com/graphile/crystal/pull/2251)
33
+ [`efa25d97d`](https://github.com/graphile/crystal/commit/efa25d97df2e00f13bc29806d396a8366a121031)
34
+ Thanks [@benjie](https://github.com/benjie)! - 🚨 **Inflection changes!** V4
35
+ preset should be (mostly) unaffected, but Amber preset will likely have
36
+ changes between `ID` and `ROW_ID` in various places, plus missing underscores
37
+ may reappear/etc. Be sure to diff your schema before/after this update (as you
38
+ should with every update... and to be honest, with everything else that
39
+ changes your schema).
40
+
41
+ Normally `camelCase`/`upperCamelCase`/`constantCase`/etc are the final step
42
+ before we name a field/type/enumValue/etc; however it turns out that some
43
+ inflectors were using the camel-cased output as input to their own
44
+ inflection - for example, when calculating the name of a relation it would
45
+ take the column names _camel-cased_ and then combine them into a string which
46
+ was then camel-cased again. Even worse, when these values are then used in an
47
+ enum, it would then be _constant-cased_, so you end up with string 👉
48
+ camel-case 👉 concatenate 👉 camel-case 👉 concatenate 👉 constant-case. This
49
+ lead to certain edge cases where fields with numbers or underscores may come
50
+ out in unexpected ways.
51
+
52
+ This release creates "raw" backing inflectors for a few things that remove the
53
+ final step (camel-casing) so that later usage may choose to use the raw value
54
+ rather than the camel-cased value. And due to this, we've also moved the `id`
55
+ 👉 `rowId` tweaks from the `attribute()` inflector into the `_attributeName()`
56
+ inflector - which is where most of the changes have come from. We've undone
57
+ this change in the V4 preset, so if you don't use the V5 preset but need to
58
+ undo this change, please check out the V4 overrides of:
59
+
60
+ - [`_attributeName`](https://github.com/graphile/crystal/blob/ca9c872ff6c95915bd9e2f33c1370d86742ce815/postgraphile/postgraphile/src/presets/v4.ts#L135-L145)
61
+ - [`_joinAttributeNames`](https://github.com/graphile/crystal/blob/ca9c872ff6c95915bd9e2f33c1370d86742ce815/postgraphile/postgraphile/src/plugins/PgV4InflectionPlugin.ts#L131-L138)
62
+ - [`attribute`](https://github.com/graphile/crystal/blob/ca9c872ff6c95915bd9e2f33c1370d86742ce815/postgraphile/postgraphile/src/presets/v4.ts#L158-L169)
63
+
64
+ Note: the V4 preset is fairly stable, but the Amber preset is being constantly
65
+ iterated to improve the OOTB V5 experience - it will only be stable once
66
+ V5.0.0 is released.
67
+
68
+ - [#2250](https://github.com/graphile/crystal/pull/2250)
69
+ [`86e228299`](https://github.com/graphile/crystal/commit/86e22829996a745dc1f8cbaf32e709b1bd346e79)
70
+ Thanks [@benjie](https://github.com/benjie)! - Integrate preset.lib into build
71
+ and gather context so plugins can use modules without needing to install
72
+ dependencies (and thus avoiding the dual package hazard).
73
+ - Updated dependencies
74
+ [[`69ab227b5`](https://github.com/graphile/crystal/commit/69ab227b5e1c057a6fc8ebba87bde80d5aa7f3c8),
75
+ [`d13b76f0f`](https://github.com/graphile/crystal/commit/d13b76f0fef2a58466ecb44880af62d25910e83e),
76
+ [`b167bd849`](https://github.com/graphile/crystal/commit/b167bd8499be5866b71bac6594d55bd768fda1d0),
77
+ [`6a13ecbd4`](https://github.com/graphile/crystal/commit/6a13ecbd45534c39c846c1d8bc58242108426dd1)]:
78
+ - grafast@0.1.1-beta.17
79
+ - graphile-config@0.0.1-beta.12
80
+
81
+ ## 5.0.0-beta.28
82
+
83
+ ### Patch Changes
84
+
85
+ - Updated dependencies
86
+ [[`5626c7d36`](https://github.com/graphile/crystal/commit/5626c7d3649285e11fe9857dfa319d2883d027eb),
87
+ [`76c7340b7`](https://github.com/graphile/crystal/commit/76c7340b74d257c454beec883384d19ef078b21e)]:
88
+ - graphile-config@0.0.1-beta.11
89
+ - grafast@0.1.1-beta.16
90
+
91
+ ## 5.0.0-beta.27
92
+
93
+ ### Patch Changes
94
+
95
+ - [#2208](https://github.com/graphile/crystal/pull/2208)
96
+ [`632691409`](https://github.com/graphile/crystal/commit/6326914098af55f20ac85ccf3537e75910a7dafa)
97
+ Thanks [@benjie](https://github.com/benjie)! - Behaviors can now be registered
98
+ by more than one plugin. Apply behaviors to more entities. Don't log so much.
99
+
100
+ ## 5.0.0-beta.26
101
+
102
+ ### Patch Changes
103
+
104
+ - [#2207](https://github.com/graphile/crystal/pull/2207)
105
+ [`0b1f7b577`](https://github.com/graphile/crystal/commit/0b1f7b577114a49b8e3283823845ec6e37484240)
106
+ Thanks [@benjie](https://github.com/benjie)! - Fix overwhelming logs and
107
+ errors being output by the new behavior system
108
+
109
+ ## 5.0.0-beta.25
110
+
111
+ ### Patch Changes
112
+
113
+ - [#2156](https://github.com/graphile/crystal/pull/2156)
114
+ [`653929af0`](https://github.com/graphile/crystal/commit/653929af0a99a8a4d52b66e66c736be668b8700a)
115
+ Thanks [@benjie](https://github.com/benjie)! - Improve error message when
116
+ `build.getTypeByName` and related methods are called before the 'init' phase
117
+ is complete.
118
+
119
+ - [#2198](https://github.com/graphile/crystal/pull/2198)
120
+ [`eb69c7361`](https://github.com/graphile/crystal/commit/eb69c7361fc7bf8c5b1ce342eeb698bd28c9e013)
121
+ Thanks [@benjie](https://github.com/benjie)! - Fix incorrect context type used
122
+ for GraphQLSchema_types hook, and add `config` to same context.
123
+
124
+ - [#2160](https://github.com/graphile/crystal/pull/2160)
125
+ [`54054b873`](https://github.com/graphile/crystal/commit/54054b8733236ba7b2f2fa47d84e085f7196e3f9)
126
+ Thanks [@benjie](https://github.com/benjie)! - Fix bug where creating the
127
+ build object also initialized it; this is incorrect since if you just want the
128
+ build object you don't necessarily want to register all of the GraphQL types
129
+ (and potentially discover naming conflicts) at that moment. Introduced new
130
+ `schemaBuilder.initBuild(schemaBuilder.createBuild(input))` API to explicitly
131
+ handle initing if you need an initialized build object.
132
+
133
+ - [#2160](https://github.com/graphile/crystal/pull/2160)
134
+ [`426e9320e`](https://github.com/graphile/crystal/commit/426e9320e76ef95927eebb6fe4072050b6208771)
135
+ Thanks [@benjie](https://github.com/benjie)! - Massive overhaul of the
136
+ behavior system which now has a centralized registry of known behaviors and
137
+ applies behaviors in a more careful and nuanced way, removing many hacks and
138
+ workarounds, and ultimately meaning that `defaultBehavior: "-*"` should now
139
+ operate correctly. Importantly, `addBehaviorToTags()` has been removed - you
140
+ should use `plugin.schema.entityBehaviors` to indicate behaviors as shown in
141
+ this PR - do not mod the tags directly unless they're explicitly meant to be
142
+ overrides.
143
+
144
+ Technically this is a significant breaking change (besides the removal of the
145
+ `addBehaviorToTags()` helper) because the order in which behaviors are applied
146
+ has changed, and so a different behavior might ultimately "win". This shows up
147
+ in places where there is ambiguity, for example if you add `@filterable` to a
148
+ function that you don't have execute permissions on, that function will now
149
+ show up in the schema since user overrides (smart tags) "win" versus inferred
150
+ behaviors such as introspected permissions; this wasn't the case before.
151
+ Hopefully most users will not notice any difference, and for those who do, the
152
+ `graphile behavior debug` CLI may be able to help you figure out what's going
153
+ on.
154
+
155
+ Be sure to print your schema before and after this update and look for
156
+ changes; if there are changes then you likely need to fix the relevant
157
+ behaviors/smart tags. (Hopefully there's no changes for you!)
158
+
159
+ You'll also need to change any places where you're specifying behaviors that
160
+ will be type checked; you can either cast your existing strings e.g.
161
+ `defaultBehavior: "+connection -list" as GraphileBuild.BehaviorString`, or
162
+ preferably you can specify your behaviors as an array, which should give you
163
+ auto-complete on each entry; e.g. `defaultBehavior: ["connection", "-list"]`.
164
+
165
+ - [#2199](https://github.com/graphile/crystal/pull/2199)
166
+ [`3b09b414f`](https://github.com/graphile/crystal/commit/3b09b414ff43c34593373fa1f242481b0c7ada70)
167
+ Thanks [@benjie](https://github.com/benjie)! - Database enum comments are now
168
+ reflected in the schema.
169
+
170
+ - [#2155](https://github.com/graphile/crystal/pull/2155)
171
+ [`8b472cd51`](https://github.com/graphile/crystal/commit/8b472cd51cd66d8227f9f2722d09c0a774792b0f)
172
+ Thanks [@benjie](https://github.com/benjie)! - `disablePlugins` now supports
173
+ TypeScript auto-completion of known plugin names. Other names are still
174
+ accepted without error, so this is just a minor DX improvement rather than
175
+ type safety.
176
+
177
+ - [#2198](https://github.com/graphile/crystal/pull/2198)
178
+ [`ba637b56d`](https://github.com/graphile/crystal/commit/ba637b56d79a14f82fe555739921724eab0c07f7)
179
+ Thanks [@benjie](https://github.com/benjie)! - Ensure that interface subtypes
180
+ are added to schema even if not referenced directly.
181
+ - Updated dependencies
182
+ [[`d5834def1`](https://github.com/graphile/crystal/commit/d5834def1fb84f3e2c0c0a6f146f8249a6df890a),
183
+ [`42b982463`](https://github.com/graphile/crystal/commit/42b9824637a6c05e02935f2b05b5e8e0c61965a6),
184
+ [`884a4b429`](https://github.com/graphile/crystal/commit/884a4b4297af90fdadaf73addd524f1fbbcfdcce),
185
+ [`38835313a`](https://github.com/graphile/crystal/commit/38835313ad93445206dccdd4cf07b90c5a6e4377),
186
+ [`cc0941731`](https://github.com/graphile/crystal/commit/cc0941731a1679bc04ce7b7fd4254009bb5f1f62),
187
+ [`b0865d169`](https://github.com/graphile/crystal/commit/b0865d1691105b5419009954c98c8109a27a5d81),
188
+ [`8b472cd51`](https://github.com/graphile/crystal/commit/8b472cd51cd66d8227f9f2722d09c0a774792b0f),
189
+ [`9cd9bb522`](https://github.com/graphile/crystal/commit/9cd9bb5222a9f0398ee4b8bfa4f741b6de2a2192)]:
190
+ - grafast@0.1.1-beta.15
191
+ - graphile-config@0.0.1-beta.10
192
+
193
+ ## 5.0.0-beta.24
194
+
195
+ ### Patch Changes
196
+
197
+ - [#2143](https://github.com/graphile/crystal/pull/2143)
198
+ [`e8a0c4441`](https://github.com/graphile/crystal/commit/e8a0c4441cd04402974cd0af6b80816c9cda91e7)
199
+ Thanks [@benjie](https://github.com/benjie)! - Add `Self.name` and
200
+ `scope.valueName` to context for `GraphQLEnumType_values_value` hook
201
+ - Updated dependencies
202
+ [[`871d32b2a`](https://github.com/graphile/crystal/commit/871d32b2a18df0d257880fc54a61d9e68c4607d6),
203
+ [`a26e3a30c`](https://github.com/graphile/crystal/commit/a26e3a30c02f963f8f5e9c9d021e871f33689e1b),
204
+ [`02c11a4d4`](https://github.com/graphile/crystal/commit/02c11a4d42bf434dffc9354b300e8d791c4eeb2d)]:
205
+ - grafast@0.1.1-beta.14
206
+
207
+ ## 5.0.0-beta.23
208
+
209
+ ### Patch Changes
210
+
211
+ - Updated dependencies
212
+ [[`807650035`](https://github.com/graphile/crystal/commit/8076500354a3e2bc2de1b6c4e947bd710cc5bddc)]:
213
+ - grafast@0.1.1-beta.13
214
+
215
+ ## 5.0.0-beta.22
216
+
217
+ ### Patch Changes
218
+
219
+ - Updated dependencies
220
+ [[`1bd50b61e`](https://github.com/graphile/crystal/commit/1bd50b61ebb10b7d09b3612c2e2767c41cca3b78),
221
+ [`4e102b1a1`](https://github.com/graphile/crystal/commit/4e102b1a1cd232e6f6703df0706415f01831dab2),
222
+ [`7bb1573ba`](https://github.com/graphile/crystal/commit/7bb1573ba45a4d8b7fa9ad53cdd79686d2641383),
223
+ [`18addb385`](https://github.com/graphile/crystal/commit/18addb3852525aa91019a36d58fa2fecd8b5b443),
224
+ [`6ed615e55`](https://github.com/graphile/crystal/commit/6ed615e557b2ab1fb57f1e68c06730a8e3da7175),
225
+ [`b25cc539c`](https://github.com/graphile/crystal/commit/b25cc539c00aeda7a943c37509aaae4dc7812317),
226
+ [`867f33136`](https://github.com/graphile/crystal/commit/867f331365346fc46ed1e0d23c79719846e398f4),
227
+ [`cf535c210`](https://github.com/graphile/crystal/commit/cf535c21078da06c14dd12f30e9b4378da4ded03),
228
+ [`acf99b190`](https://github.com/graphile/crystal/commit/acf99b190954e3c5926e820daed68dfe8eb3ee1f),
229
+ [`4967a197f`](https://github.com/graphile/crystal/commit/4967a197fd2c71ee2a581fe29470ee9f30e74de5),
230
+ [`1908e1ba1`](https://github.com/graphile/crystal/commit/1908e1ba11883a34dac66f985fc20ab160e572b1),
231
+ [`084d80be6`](https://github.com/graphile/crystal/commit/084d80be6e17187c9a9932bcf079e3f460368782)]:
232
+ - grafast@0.1.1-beta.12
233
+
234
+ ## 5.0.0-beta.21
235
+
236
+ ### Patch Changes
237
+
238
+ - [#2071](https://github.com/graphile/crystal/pull/2071)
239
+ [`582bd768f`](https://github.com/graphile/crystal/commit/582bd768fec403ce3284f293b85b9fd86e4d3f40)
240
+ Thanks [@benjie](https://github.com/benjie)! - `GrafastExecutionArgs` now
241
+ accepts `resolvedPreset` and `requestContext` directly; passing these through
242
+ additional arguments is now deprecated and support will be removed in a future
243
+ revision. This affects:
244
+
245
+ - `grafast()`
246
+ - `execute()`
247
+ - `subscribe()`
248
+ - `hookArgs()`
249
+
250
+ `graphile-config` has gained a middleware system which is more powerful than
251
+ it's AsyncHooks system. Old hooks can be emulated through the middleware
252
+ system safely since middleware is a superset of hooks' capabilities.
253
+ `applyHooks` has been renamed to `orderedApply` (because it applies to more
254
+ than just hooks), calling `applyHooks` will still work but is deprecated.
255
+
256
+ 🚨 `grafast` no longer automatically reads your `graphile.config.ts` or
257
+ similar; you must do that yourself and pass the `resolvedPreset` to grafast
258
+ via the `args`. This is to aid in bundling of grafast since it should not need
259
+ to read from filesystem or dynamically load modules.
260
+
261
+ `grafast` no longer outputs performance warning when you set
262
+ `GRAPHILE_ENV=development`.
263
+
264
+ 🚨 `plugin.grafast.hooks.args` is now `plugin.grafast.middleware.prepareArgs`,
265
+ and the signature has changed - you must be sure to call the `next()` function
266
+ and ctx/resolvedPreset can be extracted directly from `args`:
267
+
268
+ ```diff
269
+ const plugin = {
270
+ grafast: {
271
+ - hooks: {
272
+ + middleware: {
273
+ - args({ args, ctx, resolvedPreset }) {
274
+ + prepareArgs(next, { args }) {
275
+ + const { requestContext: ctx, resolvedPreset } = args;
276
+ // ...
277
+ + return next();
278
+ }
279
+ }
280
+ }
281
+ }
282
+ ```
283
+
284
+ Many more middleware have been added; use TypeScript's autocomplete to see
285
+ what's available until we have proper documentation for them.
286
+
287
+ `plugin.grafserv.hooks.*` are still supported but deprecated; instead use
288
+ middleware `plugin.grafserv.middleware.*` (note that call signatures have
289
+ changed slightly, similar to the diff above):
290
+
291
+ - `hooks.init` -> `middleware.setPreset`
292
+ - `hooks.processGraphQLRequestBody` -> `middleware.processGraphQLRequestBody`
293
+ - `hooks.ruruHTMLParts` -> `middleware.ruruHTMLParts`
294
+
295
+ A few TypeScript types related to Hooks have been renamed, but their old names
296
+ are still available, just deprecated. They will be removed in a future update:
297
+
298
+ - `HookObject` -> `FunctionalityObject`
299
+ - `PluginHook` -> `CallbackOrDescriptor`
300
+ - `PluginHookObject` -> `CallbackDescriptor`
301
+ - `PluginHookCallback` -> `UnwrapCallback`
302
+
303
+ - Updated dependencies
304
+ [[`582bd768f`](https://github.com/graphile/crystal/commit/582bd768fec403ce3284f293b85b9fd86e4d3f40)]:
305
+ - graphile-config@0.0.1-beta.9
306
+ - grafast@0.1.1-beta.11
307
+
308
+ ## 5.0.0-beta.20
309
+
310
+ ### Patch Changes
311
+
312
+ - Updated dependencies
313
+ [[`3c161f7e1`](https://github.com/graphile/crystal/commit/3c161f7e13375105b1035a7d5d1c0f2b507ca5c7),
314
+ [`a674a9923`](https://github.com/graphile/crystal/commit/a674a9923bc908c9315afa40e0cb256ee0953d16),
315
+ [`b7cfeffd1`](https://github.com/graphile/crystal/commit/b7cfeffd1019d61c713a5054c4f5929960a2a6ab)]:
316
+ - grafast@0.1.1-beta.10
317
+
318
+ ## 5.0.0-beta.19
319
+
320
+ ### Patch Changes
321
+
322
+ - Updated dependencies
323
+ [[`437570f97`](https://github.com/graphile/crystal/commit/437570f97e8520afaf3d0d0b514d1f4c31546b76)]:
324
+ - grafast@0.1.1-beta.9
325
+
326
+ ## 5.0.0-beta.18
327
+
328
+ ### Patch Changes
329
+
330
+ - [#2056](https://github.com/graphile/crystal/pull/2056)
331
+ [`1842af661`](https://github.com/graphile/crystal/commit/1842af661950d5f962b65f6362a45a3b9c8f15e8)
332
+ Thanks [@benjie](https://github.com/benjie)! - Improve exporting of resource
333
+ options (neater export code)
334
+
335
+ - Updated dependencies
336
+ [[`bd5a908a4`](https://github.com/graphile/crystal/commit/bd5a908a4d04310f90dfb46ad87398ffa993af3b)]:
337
+ - grafast@0.1.1-beta.8
338
+
339
+ ## 5.0.0-beta.17
340
+
341
+ ### Patch Changes
342
+
343
+ - [#2006](https://github.com/graphile/crystal/pull/2006)
344
+ [`7ad35fe4d`](https://github.com/graphile/crystal/commit/7ad35fe4d9b20f6ec82dc95c362390a87e25b42c)
345
+ Thanks [@benjie](https://github.com/benjie)! - When replacing inflectors via
346
+ `plugin.inflection.replace.<inflector_name>` the first argument is the
347
+ previous inflector (or null). Previously this was typed including the
348
+ `this: Inflection` argument which meant to appease TypeScript you needed to do
349
+ `previous.call(this, arg1, arg2)`, but this was never necessary in JS. This is
350
+ now fixed, and you can now issue `previous(arg1, arg2)` from TypeScript
351
+ without error.
352
+
353
+ - [#2050](https://github.com/graphile/crystal/pull/2050)
354
+ [`272608c13`](https://github.com/graphile/crystal/commit/272608c135e4ef0f76b8b5a9f764494a3f3ad779)
355
+ Thanks [@benjie](https://github.com/benjie)! - Add missing EXPORTABLE (and
356
+ remove excessive EXPORTABLE) to fix schema exports.
357
+
358
+ - [#2006](https://github.com/graphile/crystal/pull/2006)
359
+ [`bee0a0a68`](https://github.com/graphile/crystal/commit/bee0a0a68d48816f84b1a7f5ec69bd6069211426)
360
+ Thanks [@benjie](https://github.com/benjie)! - Adopt improved inflection
361
+ typings.
362
+
363
+ - Updated dependencies
364
+ [[`357d475f5`](https://github.com/graphile/crystal/commit/357d475f54fecc8c51892e0346d6872b34132430),
365
+ [`3551725e7`](https://github.com/graphile/crystal/commit/3551725e71c3ed876554e19e5ab2c1dcb0fb1143),
366
+ [`80836471e`](https://github.com/graphile/crystal/commit/80836471e5cedb29dee63bc5002550c4f1713cfd),
367
+ [`a5c20fefb`](https://github.com/graphile/crystal/commit/a5c20fefb571dea6d1187515dc48dd547e9e6204),
368
+ [`1ce08980e`](https://github.com/graphile/crystal/commit/1ce08980e2a52ed9bc81564d248c19648ecd3616),
369
+ [`dff4f2535`](https://github.com/graphile/crystal/commit/dff4f2535ac6ce893089b312fcd5fffcd98573a5),
370
+ [`a287a57c2`](https://github.com/graphile/crystal/commit/a287a57c2765da0fb6a132ea0953f64453210ceb),
371
+ [`2fe56f9a6`](https://github.com/graphile/crystal/commit/2fe56f9a6dac03484ace45c29c2223a65f9ca1db),
372
+ [`fed603d71`](https://github.com/graphile/crystal/commit/fed603d719c02f33e12190f925c9e3b06c581fac),
373
+ [`ed6e0d278`](https://github.com/graphile/crystal/commit/ed6e0d2788217a1c419634837f4208013eaf2923),
374
+ [`e82e4911e`](https://github.com/graphile/crystal/commit/e82e4911e32138df1b90ec0fde555ea963018d21),
375
+ [`42ece5aa6`](https://github.com/graphile/crystal/commit/42ece5aa6ca05345ebc17fb5c7d55df3b79b7612),
376
+ [`e0d69e518`](https://github.com/graphile/crystal/commit/e0d69e518a98c70f9b90f59d243ce33978c1b5a1),
377
+ [`db8ceed0f`](https://github.com/graphile/crystal/commit/db8ceed0f17923eb78ff09c9f3f28800a5c7e3b6),
378
+ [`6699388ec`](https://github.com/graphile/crystal/commit/6699388ec167d35c71220ce5d9113cac578da6cb),
379
+ [`966203504`](https://github.com/graphile/crystal/commit/96620350467ab8c65b56adf2f055e19450f8e772),
380
+ [`c1645b249`](https://github.com/graphile/crystal/commit/c1645b249aae949a548cd916e536ccfb63e5ab35),
381
+ [`ed8bbaa3c`](https://github.com/graphile/crystal/commit/ed8bbaa3cd1563a7601ca8c6b0412633b0ea4ce9),
382
+ [`a0e82b9c5`](https://github.com/graphile/crystal/commit/a0e82b9c5f4e585f1af1e147299cd07944ece6f8),
383
+ [`14e2412ee`](https://github.com/graphile/crystal/commit/14e2412ee368e8d53abf6774c7f0069f32d4e8a3),
384
+ [`57ab0e1e7`](https://github.com/graphile/crystal/commit/57ab0e1e72c01213b21d3efc539cd655d83d993a),
385
+ [`8442242e4`](https://github.com/graphile/crystal/commit/8442242e43cac7d89ca0c413cf42c9fabf6f247f),
386
+ [`64ce7b765`](https://github.com/graphile/crystal/commit/64ce7b7650530251aec38a51089da66f914c19b4),
387
+ [`cba842357`](https://github.com/graphile/crystal/commit/cba84235786acbd77ade53bae7a3fba4a9be1eb7),
388
+ [`2fa77d0f2`](https://github.com/graphile/crystal/commit/2fa77d0f237cdb98d3dafb6b5e4083a2c6c38673)]:
389
+ - grafast@0.1.1-beta.7
390
+ - graphile-config@0.0.1-beta.8
391
+
392
+ ## 5.0.0-beta.16
393
+
394
+ ### Patch Changes
395
+
396
+ - [#1955](https://github.com/graphile/crystal/pull/1955)
397
+ [`6c6be29f1`](https://github.com/graphile/crystal/commit/6c6be29f12b24782c926b2bc62ed2ede09ac05de)
398
+ Thanks [@benjie](https://github.com/benjie)! - Steps are now prevented from
399
+ calling other steps' lifecycle methods. GRAPHILE_ENV is actively encouraged,
400
+ and falls back to NODE_ENV.
401
+
402
+ - [#1949](https://github.com/graphile/crystal/pull/1949)
403
+ [`179d25b09`](https://github.com/graphile/crystal/commit/179d25b09bb3272eeef564067b8e512d8de0112f)
404
+ Thanks [@benjie](https://github.com/benjie)! - Add support for registering
405
+ PgCodecs via plugins, add support for ltree type, improve error messages, no
406
+ longer need to set a gather namespace to use cache/state.
407
+
408
+ - [#1958](https://github.com/graphile/crystal/pull/1958)
409
+ [`8315e8d01`](https://github.com/graphile/crystal/commit/8315e8d01c118cebc4ebbc53a2f264b958b252ad)
410
+ Thanks [@benjie](https://github.com/benjie)! - EXPORTABLE now accepts a third
411
+ argument, `nameHint`, which is used to hint what variable name to use for the
412
+ given value. Used this in `graphile-export` along with some fixes and
413
+ optimizations to improve the exports further.
414
+
415
+ - [#1946](https://github.com/graphile/crystal/pull/1946)
416
+ [`9d53dde72`](https://github.com/graphile/crystal/commit/9d53dde726b7304962e921b88a159649e49156e5)
417
+ Thanks [@benjie](https://github.com/benjie)! - Exporting a schema now performs
418
+ ESLint 'no-use-before-define' check to catch even more invalid export
419
+ conditions. Fix `registerNodeIdCodec` calls caught by this.
420
+ - Updated dependencies
421
+ [[`9f85c614d`](https://github.com/graphile/crystal/commit/9f85c614d48dc745c5fed15333dbb75af7fddc88),
422
+ [`6c6be29f1`](https://github.com/graphile/crystal/commit/6c6be29f12b24782c926b2bc62ed2ede09ac05de),
423
+ [`8315e8d01`](https://github.com/graphile/crystal/commit/8315e8d01c118cebc4ebbc53a2f264b958b252ad)]:
424
+ - grafast@0.1.1-beta.6
425
+
426
+ ## 5.0.0-beta.15
427
+
428
+ ### Patch Changes
429
+
430
+ - [#1933](https://github.com/graphile/crystal/pull/1933)
431
+ [`3a2ea80ee`](https://github.com/graphile/crystal/commit/3a2ea80ee470b2aef91366727d7d60a0c65067f5)
432
+ Thanks [@mattiarossi](https://github.com/mattiarossi)! -
433
+ `eslint-plugin-graphile-export` now spots instances of `inputPlan`,
434
+ `applyPlan` and `assertStep` so they can be checked - thanks @mattiarossi!
435
+
436
+ - [#1924](https://github.com/graphile/crystal/pull/1924)
437
+ [`ef44c29b2`](https://github.com/graphile/crystal/commit/ef44c29b24a1ad5a042ae1536a4546dd64b17195)
438
+ Thanks [@benjie](https://github.com/benjie)! - 🚨 TypeScript is now configured
439
+ to hide interfaces marked as `@internal`. This may result in a few errors
440
+ where you're accessing things you oughtn't be, but also may hide some
441
+ interfaces that should be exposed - please file an issue if an API you were
442
+ dependent on has been removed from the TypeScript typings. If that API happens
443
+ to be `step.dependencies`; you should first read this:
444
+ https://benjie.dev/graphql/ancestors
445
+
446
+ - [#1935](https://github.com/graphile/crystal/pull/1935)
447
+ [`8ea67f891`](https://github.com/graphile/crystal/commit/8ea67f8910693edaf70daa9952e35d8396166f38)
448
+ Thanks [@benjie](https://github.com/benjie)! - Fix lots of things related to
449
+ exporting a schema with `graphile-export`.
450
+
451
+ - [#1935](https://github.com/graphile/crystal/pull/1935)
452
+ [`e20e66ed7`](https://github.com/graphile/crystal/commit/e20e66ed71b499ee5bbf05105f981809fd302212)
453
+ Thanks [@benjie](https://github.com/benjie)! - Make even more of the schema
454
+ exportable, including handling scalars with no parseLiteral definition.
455
+ - Updated dependencies
456
+ [[`63dd7ea99`](https://github.com/graphile/crystal/commit/63dd7ea992d30ad711dd85a73a127484a0e35479),
457
+ [`d801c9778`](https://github.com/graphile/crystal/commit/d801c9778a86d61e060896460af9fe62a733534a),
458
+ [`ef44c29b2`](https://github.com/graphile/crystal/commit/ef44c29b24a1ad5a042ae1536a4546dd64b17195),
459
+ [`5de3e86eb`](https://github.com/graphile/crystal/commit/5de3e86eba1ddfe5e07732d0325c63e5d72d4b5b)]:
460
+ - grafast@0.1.1-beta.5
461
+ - graphile-config@0.0.1-beta.7
462
+
463
+ ## 5.0.0-beta.14
464
+
465
+ ### Patch Changes
466
+
467
+ - [#1901](https://github.com/graphile/crystal/pull/1901)
468
+ [`f97d7976a`](https://github.com/graphile/crystal/commit/f97d7976a683a1e2cb0fed1ce0e30aeff8cc1886)
469
+ Thanks [@benjie](https://github.com/benjie)! - Loosens step assertion from
470
+ Query type so it can be served from `constant(true)`.
471
+ - Updated dependencies
472
+ [[`a2176ea32`](https://github.com/graphile/crystal/commit/a2176ea324db0801249661b30e9c9d314c6fb159),
473
+ [`886833e2e`](https://github.com/graphile/crystal/commit/886833e2e319f23d905d7184ca88fca701b94044)]:
474
+ - grafast@0.1.1-beta.4
475
+
476
+ ## 5.0.0-beta.13
477
+
478
+ ### Patch Changes
479
+
480
+ - Updated dependencies
481
+ [[`0df5511ac`](https://github.com/graphile/crystal/commit/0df5511ac8b79ea34f8d12ebf8feeb421f8fe971)]:
482
+ - graphile-config@0.0.1-beta.6
483
+ - grafast@0.1.1-beta.3
484
+
485
+ ## 5.0.0-beta.12
486
+
487
+ ### Patch Changes
488
+
489
+ - [#1877](https://github.com/graphile/crystal/pull/1877)
490
+ [`8a0cdb95f`](https://github.com/graphile/crystal/commit/8a0cdb95f200b28b0ea1ab5caa12b23dce5f374f)
491
+ Thanks [@benjie](https://github.com/benjie)! - Move 'declare global' out of
492
+ 'interfaces.ts' and into 'index.ts' or equivalent. Should make TypeScript more
493
+ aware of these types.
494
+
495
+ - [#1817](https://github.com/graphile/crystal/pull/1817)
496
+ [`f66cc40b3`](https://github.com/graphile/crystal/commit/f66cc40b3bc5bf2e7f92fe5a6bd5638e2a51ac2b)
497
+ Thanks [@benjie](https://github.com/benjie)! - Enable detecting "empty" enums
498
+ (enums with no values).
499
+
500
+ - [#1878](https://github.com/graphile/crystal/pull/1878)
501
+ [`f18635a5c`](https://github.com/graphile/crystal/commit/f18635a5cf55845c9534d82bb483e5fbb9ed179e)
502
+ Thanks [@benjie](https://github.com/benjie)! - Export
503
+ getNodeIdHandlerByTypeName to make writing plugins easier
504
+
505
+ - Updated dependencies
506
+ [[`3fdc2bce4`](https://github.com/graphile/crystal/commit/3fdc2bce42418773f808c5b8309dfb361cd95ce9),
507
+ [`aeef362b5`](https://github.com/graphile/crystal/commit/aeef362b5744816f01e4a6f714bbd77f92332bc5),
508
+ [`8a76db07f`](https://github.com/graphile/crystal/commit/8a76db07f4c110cecc6225504f9a05ccbcbc7b92),
509
+ [`8a0cdb95f`](https://github.com/graphile/crystal/commit/8a0cdb95f200b28b0ea1ab5caa12b23dce5f374f),
510
+ [`1c9f1c0ed`](https://github.com/graphile/crystal/commit/1c9f1c0edf4e621a5b6345d3a41527a18143c6ae)]:
511
+ - grafast@0.1.1-beta.2
512
+ - graphile-config@0.0.1-beta.5
513
+
514
+ ## 5.0.0-beta.11
515
+
516
+ ### Patch Changes
517
+
518
+ - Updated dependencies
519
+ [[`49fcb0d58`](https://github.com/graphile/crystal/commit/49fcb0d585b31b291c9072c339d6f5b550eefc9f),
520
+ [`7aef73319`](https://github.com/graphile/crystal/commit/7aef73319a8a147c700727be62427e1eefdefbf8)]:
521
+ - grafast@0.1.1-beta.1
522
+ - graphile-config@0.0.1-beta.4
523
+
524
+ ## 5.0.0-beta.10
525
+
526
+ ### Patch Changes
527
+
528
+ - [#1769](https://github.com/graphile/crystal/pull/1769)
529
+ [`b728d7fb9`](https://github.com/graphile/crystal/commit/b728d7fb91eb29fbb21d955af5fd9cb4278f6222)
530
+ Thanks [@benjie](https://github.com/benjie)! - Fix error message when ref is
531
+ used with no foreign key.
532
+
533
+ - Updated dependencies
534
+ [[`4a4d26d87`](https://github.com/graphile/crystal/commit/4a4d26d87ce74589429b8ca5126a7bfdf30351b8),
535
+ [`b2bce88da`](https://github.com/graphile/crystal/commit/b2bce88da26c7a8965468be16fc2d935eadd3434),
536
+ [`861a8a306`](https://github.com/graphile/crystal/commit/861a8a306ef42a821da19e77903ddd7e8130bfb3)]:
537
+ - grafast@0.1.1-beta.0
538
+
539
+ ## 5.0.0-beta.9
540
+
541
+ ### Patch Changes
542
+
543
+ - [#514](https://github.com/graphile/crystal-pre-merge/pull/514)
544
+ [`c9848f693`](https://github.com/graphile/crystal-pre-merge/commit/c9848f6936a5abd7740c0638bfb458fb5551f03b)
545
+ Thanks [@benjie](https://github.com/benjie)! - Update package.json repository
546
+ information
547
+
548
+ - Updated dependencies
549
+ [[`c9848f693`](https://github.com/graphile/crystal-pre-merge/commit/c9848f6936a5abd7740c0638bfb458fb5551f03b),
550
+ [`ede1092fe`](https://github.com/graphile/crystal-pre-merge/commit/ede1092fe197719b6fa786f4cfa75f6a1f4c56c1),
551
+ [`566983fbd`](https://github.com/graphile/crystal-pre-merge/commit/566983fbd99c4b2df8c4ebd6260521670a2b7dfc),
552
+ [`409bf6071`](https://github.com/graphile/crystal-pre-merge/commit/409bf607180d4d8faec658c803e5ec4d1a00c451)]:
553
+ - graphile-config@0.0.1-beta.3
554
+ - grafast@0.0.1-beta.8
555
+
556
+ ## 5.0.0-beta.8
557
+
558
+ ### Patch Changes
559
+
560
+ - Updated dependencies
561
+ [[`3700e204f`](https://github.com/benjie/crystal/commit/3700e204f430db182c92ca7abc82017c81fa1f9b)]:
562
+ - grafast@0.0.1-beta.7
563
+
564
+ ## 5.0.0-beta.7
565
+
566
+ ### Patch Changes
567
+
568
+ - [#496](https://github.com/benjie/crystal/pull/496)
569
+ [`c9bfd9892`](https://github.com/benjie/crystal/commit/c9bfd989247f9433fb5b18c5175c9d8d64cd21a1)
570
+ Thanks [@benjie](https://github.com/benjie)! - Update dependencies (sometimes
571
+ through major versions).
572
+
573
+ - Updated dependencies
574
+ [[`c9bfd9892`](https://github.com/benjie/crystal/commit/c9bfd989247f9433fb5b18c5175c9d8d64cd21a1),
575
+ [`e613b476d`](https://github.com/benjie/crystal/commit/e613b476d6ee867d1f7509c895dabee40e7f9a31)]:
576
+ - graphile-config@0.0.1-beta.2
577
+ - grafast@0.0.1-beta.6
578
+
579
+ ## 5.0.0-beta.6
580
+
581
+ ### Patch Changes
582
+
583
+ - [#488](https://github.com/benjie/crystal/pull/488)
584
+ [`73f1b5218`](https://github.com/benjie/crystal/commit/73f1b52187b2e009d502afa1db8a4e8f702e2958)
585
+ Thanks [@benjie](https://github.com/benjie)! - specForHandler now only
586
+ requires handler - no need to pass codec.
587
+
588
+ - Updated dependencies
589
+ [[`53186213a`](https://github.com/benjie/crystal/commit/53186213ade962f4b66cb0d5ea8b57b5ce7ea85f)]:
590
+ - grafast@0.0.1-beta.5
591
+
592
+ ## 5.0.0-beta.5
593
+
594
+ ### Patch Changes
595
+
596
+ - Updated dependencies
597
+ [[`f9cc88dc4`](https://github.com/benjie/crystal/commit/f9cc88dc442d371aee154a28d4e63c6da39f6b2e)]:
598
+ - grafast@0.0.1-beta.4
599
+
600
+ ## 5.0.0-beta.4
601
+
602
+ ### Patch Changes
603
+
604
+ - [#454](https://github.com/benjie/crystal/pull/454)
605
+ [`196e5c1aa`](https://github.com/benjie/crystal/commit/196e5c1aab52dbe2a069d0a15b9e4931523fd2dd)
606
+ Thanks [@benjie](https://github.com/benjie)! -
607
+ `@interface mode=single/relational` now get `Node` interface if the table has
608
+ a PK.
609
+
610
+ 🚨 `@interface mode=union` no longer gets `Node` interface unless you also add
611
+ `@behavior node`.
612
+
3
613
  ## 5.0.0-beta.3
4
614
 
5
615
  ### Patch Changes
package/README.md CHANGED
@@ -29,9 +29,9 @@ not know nor care about databases).
29
29
 
30
30
  ## Crowd-funded open-source software
31
31
 
32
- To help us develop this software sustainably under the MIT license, we ask all
33
- individuals and businesses that use it to help support its ongoing maintenance
34
- and development via sponsorship.
32
+ To help us develop this software sustainably, we ask all individuals and
33
+ businesses that use it to help support its ongoing maintenance and development
34
+ via sponsorship.
35
35
 
36
36
  ### [Click here to find out more about sponsors and sponsorship.](https://www.graphile.org/sponsor/)
37
37
 
@@ -40,12 +40,10 @@ And please give some love to our featured sponsors 🤩:
40
40
  <table><tr>
41
41
  <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>
42
42
  <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>
43
- <td align="center"><a href="https://qwick.com/"><img src="https://graphile.org/images/sponsors/qwick.png" width="90" height="90" alt="Qwick" /><br />Qwick</a> *</td>
44
- <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>
45
- </tr><tr>
46
- <td align="center"><a href=""><img src="https://graphile.org/images/sponsors/chadf.png" width="90" height="90" alt="Chad Furman" /><br />Chad Furman</a> *</td>
47
43
  <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>
48
- <td align="center"><a href="https://www.accenture.com/"><img src="https://graphile.org/images/sponsors/accenture.svg" width="90" height="90" alt="Accenture" /><br />Accenture</a> *</td>
44
+ <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>
45
+ </tr><tr>
46
+ <td align="center"><a href=""><img src="https://graphile.org/images/sponsors/latchbio.jpg" width="90" height="90" alt="LatchBio" /><br />LatchBio</a> *</td>
49
47
  </tr></table>
50
48
 
51
49
  <em>\* Sponsors the entire Graphile suite</em>