graphile-build-pg 5.0.0-beta.4 → 5.0.0-beta.41

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 (192) hide show
  1. package/CHANGELOG.md +1311 -0
  2. package/README.md +4 -10
  3. package/dist/_.js +1 -2
  4. package/dist/_.js.map +1 -1
  5. package/dist/behavior.d.ts +1 -2
  6. package/dist/behavior.d.ts.map +1 -1
  7. package/dist/behavior.js +7 -18
  8. package/dist/behavior.js.map +1 -1
  9. package/dist/index.d.ts +106 -2
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +6 -5
  12. package/dist/index.js.map +1 -1
  13. package/dist/inputUtils.js +2 -3
  14. package/dist/inputUtils.js.map +1 -1
  15. package/dist/plugins/PgAllRowsPlugin.d.ts +9 -0
  16. package/dist/plugins/PgAllRowsPlugin.d.ts.map +1 -1
  17. package/dist/plugins/PgAllRowsPlugin.js +12 -0
  18. package/dist/plugins/PgAllRowsPlugin.js.map +1 -1
  19. package/dist/plugins/PgAttributeDeprecationPlugin.d.ts +7 -0
  20. package/dist/plugins/PgAttributeDeprecationPlugin.d.ts.map +1 -1
  21. package/dist/plugins/PgAttributeDeprecationPlugin.js.map +1 -1
  22. package/dist/plugins/PgAttributesPlugin.d.ts +14 -1
  23. package/dist/plugins/PgAttributesPlugin.d.ts.map +1 -1
  24. package/dist/plugins/PgAttributesPlugin.js +117 -79
  25. package/dist/plugins/PgAttributesPlugin.js.map +1 -1
  26. package/dist/plugins/PgBasicsPlugin.d.ts +49 -13
  27. package/dist/plugins/PgBasicsPlugin.d.ts.map +1 -1
  28. package/dist/plugins/PgBasicsPlugin.js +174 -33
  29. package/dist/plugins/PgBasicsPlugin.js.map +1 -1
  30. package/dist/plugins/PgCodecsPlugin.d.ts +18 -0
  31. package/dist/plugins/PgCodecsPlugin.d.ts.map +1 -1
  32. package/dist/plugins/PgCodecsPlugin.js +267 -215
  33. package/dist/plugins/PgCodecsPlugin.js.map +1 -1
  34. package/dist/plugins/PgConditionArgumentPlugin.d.ts +18 -0
  35. package/dist/plugins/PgConditionArgumentPlugin.d.ts.map +1 -1
  36. package/dist/plugins/PgConditionArgumentPlugin.js +17 -12
  37. package/dist/plugins/PgConditionArgumentPlugin.js.map +1 -1
  38. package/dist/plugins/PgConditionCustomFieldsPlugin.d.ts +8 -0
  39. package/dist/plugins/PgConditionCustomFieldsPlugin.d.ts.map +1 -1
  40. package/dist/plugins/PgConditionCustomFieldsPlugin.js +19 -14
  41. package/dist/plugins/PgConditionCustomFieldsPlugin.js.map +1 -1
  42. package/dist/plugins/PgConnectionArgOrderByDefaultValuePlugin.d.ts +7 -0
  43. package/dist/plugins/PgConnectionArgOrderByDefaultValuePlugin.d.ts.map +1 -1
  44. package/dist/plugins/PgConnectionArgOrderByDefaultValuePlugin.js.map +1 -1
  45. package/dist/plugins/PgConnectionArgOrderByPlugin.d.ts +10 -4
  46. package/dist/plugins/PgConnectionArgOrderByPlugin.d.ts.map +1 -1
  47. package/dist/plugins/PgConnectionArgOrderByPlugin.js +36 -46
  48. package/dist/plugins/PgConnectionArgOrderByPlugin.js.map +1 -1
  49. package/dist/plugins/PgConnectionTotalCountPlugin.d.ts +8 -0
  50. package/dist/plugins/PgConnectionTotalCountPlugin.d.ts.map +1 -1
  51. package/dist/plugins/PgConnectionTotalCountPlugin.js +9 -1
  52. package/dist/plugins/PgConnectionTotalCountPlugin.js.map +1 -1
  53. package/dist/plugins/PgCustomTypeFieldPlugin.d.ts +29 -14
  54. package/dist/plugins/PgCustomTypeFieldPlugin.d.ts.map +1 -1
  55. package/dist/plugins/PgCustomTypeFieldPlugin.js +506 -356
  56. package/dist/plugins/PgCustomTypeFieldPlugin.js.map +1 -1
  57. package/dist/plugins/PgEnumTablesPlugin.d.ts +6 -0
  58. package/dist/plugins/PgEnumTablesPlugin.d.ts.map +1 -1
  59. package/dist/plugins/PgEnumTablesPlugin.js +82 -37
  60. package/dist/plugins/PgEnumTablesPlugin.js.map +1 -1
  61. package/dist/plugins/PgFakeConstraintsPlugin.d.ts +3 -0
  62. package/dist/plugins/PgFakeConstraintsPlugin.d.ts.map +1 -1
  63. package/dist/plugins/PgFakeConstraintsPlugin.js +6 -4
  64. package/dist/plugins/PgFakeConstraintsPlugin.js.map +1 -1
  65. package/dist/plugins/PgFirstLastBeforeAfterArgsPlugin.d.ts +5 -0
  66. package/dist/plugins/PgFirstLastBeforeAfterArgsPlugin.d.ts.map +1 -1
  67. package/dist/plugins/PgFirstLastBeforeAfterArgsPlugin.js +12 -7
  68. package/dist/plugins/PgFirstLastBeforeAfterArgsPlugin.js.map +1 -1
  69. package/dist/plugins/PgIndexBehaviorsPlugin.d.ts +20 -0
  70. package/dist/plugins/PgIndexBehaviorsPlugin.d.ts.map +1 -1
  71. package/dist/plugins/PgIndexBehaviorsPlugin.js +45 -10
  72. package/dist/plugins/PgIndexBehaviorsPlugin.js.map +1 -1
  73. package/dist/plugins/PgInterfaceModeUnionAllRowsPlugin.d.ts +9 -0
  74. package/dist/plugins/PgInterfaceModeUnionAllRowsPlugin.d.ts.map +1 -1
  75. package/dist/plugins/PgInterfaceModeUnionAllRowsPlugin.js +29 -85
  76. package/dist/plugins/PgInterfaceModeUnionAllRowsPlugin.js.map +1 -1
  77. package/dist/plugins/PgIntrospectionPlugin.d.ts +3 -0
  78. package/dist/plugins/PgIntrospectionPlugin.d.ts.map +1 -1
  79. package/dist/plugins/PgIntrospectionPlugin.js +129 -104
  80. package/dist/plugins/PgIntrospectionPlugin.js.map +1 -1
  81. package/dist/plugins/PgJWTPlugin.d.ts +6 -2
  82. package/dist/plugins/PgJWTPlugin.d.ts.map +1 -1
  83. package/dist/plugins/PgJWTPlugin.js +10 -0
  84. package/dist/plugins/PgJWTPlugin.js.map +1 -1
  85. package/dist/plugins/PgLtreePlugin.d.ts +9 -0
  86. package/dist/plugins/PgLtreePlugin.d.ts.map +1 -0
  87. package/dist/plugins/PgLtreePlugin.js +64 -0
  88. package/dist/plugins/PgLtreePlugin.js.map +1 -0
  89. package/dist/plugins/PgMutationCreatePlugin.d.ts +9 -0
  90. package/dist/plugins/PgMutationCreatePlugin.d.ts.map +1 -1
  91. package/dist/plugins/PgMutationCreatePlugin.js +44 -27
  92. package/dist/plugins/PgMutationCreatePlugin.js.map +1 -1
  93. package/dist/plugins/PgMutationPayloadEdgePlugin.d.ts +5 -0
  94. package/dist/plugins/PgMutationPayloadEdgePlugin.d.ts.map +1 -1
  95. package/dist/plugins/PgMutationPayloadEdgePlugin.js +4 -16
  96. package/dist/plugins/PgMutationPayloadEdgePlugin.js.map +1 -1
  97. package/dist/plugins/PgMutationUpdateDeletePlugin.d.ts +14 -0
  98. package/dist/plugins/PgMutationUpdateDeletePlugin.d.ts.map +1 -1
  99. package/dist/plugins/PgMutationUpdateDeletePlugin.js +105 -62
  100. package/dist/plugins/PgMutationUpdateDeletePlugin.js.map +1 -1
  101. package/dist/plugins/PgNodeIdAttributesPlugin.d.ts +11 -1
  102. package/dist/plugins/PgNodeIdAttributesPlugin.d.ts.map +1 -1
  103. package/dist/plugins/PgNodeIdAttributesPlugin.js +101 -33
  104. package/dist/plugins/PgNodeIdAttributesPlugin.js.map +1 -1
  105. package/dist/plugins/PgOrderAllAttributesPlugin.d.ts +6 -2
  106. package/dist/plugins/PgOrderAllAttributesPlugin.d.ts.map +1 -1
  107. package/dist/plugins/PgOrderAllAttributesPlugin.js +11 -34
  108. package/dist/plugins/PgOrderAllAttributesPlugin.js.map +1 -1
  109. package/dist/plugins/PgOrderByPrimaryKeyPlugin.d.ts +5 -0
  110. package/dist/plugins/PgOrderByPrimaryKeyPlugin.d.ts.map +1 -1
  111. package/dist/plugins/PgOrderByPrimaryKeyPlugin.js +14 -18
  112. package/dist/plugins/PgOrderByPrimaryKeyPlugin.js.map +1 -1
  113. package/dist/plugins/PgOrderCustomFieldsPlugin.d.ts +8 -0
  114. package/dist/plugins/PgOrderCustomFieldsPlugin.d.ts.map +1 -1
  115. package/dist/plugins/PgOrderCustomFieldsPlugin.js +13 -8
  116. package/dist/plugins/PgOrderCustomFieldsPlugin.js.map +1 -1
  117. package/dist/plugins/PgPolymorphismOnlyArgumentPlugin.d.ts +23 -0
  118. package/dist/plugins/PgPolymorphismOnlyArgumentPlugin.d.ts.map +1 -0
  119. package/dist/plugins/PgPolymorphismOnlyArgumentPlugin.js +157 -0
  120. package/dist/plugins/PgPolymorphismOnlyArgumentPlugin.js.map +1 -0
  121. package/dist/plugins/PgPolymorphismPlugin.d.ts +30 -1
  122. package/dist/plugins/PgPolymorphismPlugin.d.ts.map +1 -1
  123. package/dist/plugins/PgPolymorphismPlugin.js +616 -96
  124. package/dist/plugins/PgPolymorphismPlugin.js.map +1 -1
  125. package/dist/plugins/PgProceduresPlugin.d.ts +6 -0
  126. package/dist/plugins/PgProceduresPlugin.d.ts.map +1 -1
  127. package/dist/plugins/PgProceduresPlugin.js +59 -10
  128. package/dist/plugins/PgProceduresPlugin.js.map +1 -1
  129. package/dist/plugins/PgRBACPlugin.d.ts +25 -0
  130. package/dist/plugins/PgRBACPlugin.d.ts.map +1 -1
  131. package/dist/plugins/PgRBACPlugin.js +110 -67
  132. package/dist/plugins/PgRBACPlugin.js.map +1 -1
  133. package/dist/plugins/PgRefsPlugin.d.ts +3 -0
  134. package/dist/plugins/PgRefsPlugin.d.ts.map +1 -1
  135. package/dist/plugins/PgRefsPlugin.js +9 -3
  136. package/dist/plugins/PgRefsPlugin.js.map +1 -1
  137. package/dist/plugins/PgRegistryPlugin.d.ts +14 -8
  138. package/dist/plugins/PgRegistryPlugin.d.ts.map +1 -1
  139. package/dist/plugins/PgRegistryPlugin.js +3 -0
  140. package/dist/plugins/PgRegistryPlugin.js.map +1 -1
  141. package/dist/plugins/PgRelationsPlugin.d.ts +21 -1
  142. package/dist/plugins/PgRelationsPlugin.d.ts.map +1 -1
  143. package/dist/plugins/PgRelationsPlugin.js +223 -80
  144. package/dist/plugins/PgRelationsPlugin.js.map +1 -1
  145. package/dist/plugins/PgRemoveExtensionResourcesPlugin.d.ts +8 -0
  146. package/dist/plugins/PgRemoveExtensionResourcesPlugin.d.ts.map +1 -1
  147. package/dist/plugins/PgRemoveExtensionResourcesPlugin.js +38 -4
  148. package/dist/plugins/PgRemoveExtensionResourcesPlugin.js.map +1 -1
  149. package/dist/plugins/PgRowByUniquePlugin.d.ts +8 -0
  150. package/dist/plugins/PgRowByUniquePlugin.d.ts.map +1 -1
  151. package/dist/plugins/PgRowByUniquePlugin.js +11 -2
  152. package/dist/plugins/PgRowByUniquePlugin.js.map +1 -1
  153. package/dist/plugins/PgTableNodePlugin.d.ts +5 -0
  154. package/dist/plugins/PgTableNodePlugin.d.ts.map +1 -1
  155. package/dist/plugins/PgTableNodePlugin.js +48 -49
  156. package/dist/plugins/PgTableNodePlugin.js.map +1 -1
  157. package/dist/plugins/PgTablesPlugin.d.ts +20 -2
  158. package/dist/plugins/PgTablesPlugin.d.ts.map +1 -1
  159. package/dist/plugins/PgTablesPlugin.js +128 -62
  160. package/dist/plugins/PgTablesPlugin.js.map +1 -1
  161. package/dist/plugins/PgTypesPlugin.d.ts +8 -1
  162. package/dist/plugins/PgTypesPlugin.d.ts.map +1 -1
  163. package/dist/plugins/PgTypesPlugin.js +7 -26
  164. package/dist/plugins/PgTypesPlugin.js.map +1 -1
  165. package/dist/preset.d.ts +13 -0
  166. package/dist/preset.d.ts.map +1 -1
  167. package/dist/preset.js +25 -5
  168. package/dist/preset.js.map +1 -1
  169. package/dist/utils.d.ts +2 -3
  170. package/dist/utils.d.ts.map +1 -1
  171. package/dist/utils.js +69 -28
  172. package/dist/utils.js.map +1 -1
  173. package/dist/version.d.ts +1 -1
  174. package/dist/version.d.ts.map +1 -1
  175. package/dist/version.js +1 -1
  176. package/dist/version.js.map +1 -1
  177. package/dist/watchFixtures.d.ts.map +1 -1
  178. package/dist/watchFixtures.js +1 -2
  179. package/dist/watchFixtures.js.map +1 -1
  180. package/package.json +36 -34
  181. package/dist/interfaces.d.ts +0 -89
  182. package/dist/interfaces.d.ts.map +0 -1
  183. package/dist/interfaces.js +0 -3
  184. package/dist/interfaces.js.map +0 -1
  185. package/dist/pgServices.d.ts +0 -18
  186. package/dist/pgServices.d.ts.map +0 -1
  187. package/dist/pgServices.js +0 -133
  188. package/dist/pgServices.js.map +0 -1
  189. package/dist/plugins/PgContextPlugin.d.ts +0 -2
  190. package/dist/plugins/PgContextPlugin.d.ts.map +0 -1
  191. package/dist/plugins/PgContextPlugin.js +0 -52
  192. package/dist/plugins/PgContextPlugin.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,1316 @@
1
1
  # graphile-build-pg
2
2
 
3
+ ## 5.0.0-beta.41
4
+
5
+ ### Patch Changes
6
+
7
+ - [#2577](https://github.com/graphile/crystal/pull/2577)
8
+ [`0c6b1f1`](https://github.com/graphile/crystal/commit/0c6b1f1e188f6e2913832adfed9ca76dfdc25c47)
9
+ Thanks [@benjie](https://github.com/benjie)! - Update dependencies
10
+
11
+ - Updated dependencies
12
+ [[`0c6b1f1`](https://github.com/graphile/crystal/commit/0c6b1f1e188f6e2913832adfed9ca76dfdc25c47),
13
+ [`e0cdabe`](https://github.com/graphile/crystal/commit/e0cdabe25c8894da550546c93bc03b895585544c)]:
14
+ - graphile-build@5.0.0-beta.35
15
+ - graphile-config@0.0.1-beta.17
16
+ - @dataplan/pg@0.0.1-beta.34
17
+ - grafast@0.1.1-beta.23
18
+
19
+ ## 5.0.0-beta.40
20
+
21
+ ### Patch Changes
22
+
23
+ - [#2575](https://github.com/graphile/crystal/pull/2575)
24
+ [`5c802ea6819361eed36b75f246ae0adb35b14669`](https://github.com/graphile/crystal/commit/5c802ea6819361eed36b75f246ae0adb35b14669)
25
+ Thanks [@benjie](https://github.com/benjie)! - Fixes a bug in relational
26
+ polymorphism where PostgreSQL functions returning polymorphic records were
27
+ causing planning errors.
28
+ - Updated dependencies []:
29
+ - @dataplan/pg@0.0.1-beta.33
30
+ - graphile-build@5.0.0-beta.34
31
+
32
+ ## 5.0.0-beta.39
33
+
34
+ ### Patch Changes
35
+
36
+ - [#2436](https://github.com/graphile/crystal/pull/2436)
37
+ [`142e39f26ce329f09bee0b5427f1ddc5103e610e`](https://github.com/graphile/crystal/commit/142e39f26ce329f09bee0b5427f1ddc5103e610e)
38
+ Thanks [@benjie](https://github.com/benjie)! - Don't apply the limitToTypes
39
+ step if the argument wasn't specified.
40
+
41
+ - [#2525](https://github.com/graphile/crystal/pull/2525)
42
+ [`09d95319be3e25e023dfbab9d1542dfe06f65355`](https://github.com/graphile/crystal/commit/09d95319be3e25e023dfbab9d1542dfe06f65355)
43
+ Thanks [@benjie](https://github.com/benjie)! - Plan computed column inputs
44
+ (particularly Node IDs) in the root layer plan, allowing for greater plan
45
+ deduplication and more efficient SQL generation.
46
+
47
+ - [#2482](https://github.com/graphile/crystal/pull/2482)
48
+ [`459e1869a2ec58925b2bac5458af487c52a8ca37`](https://github.com/graphile/crystal/commit/459e1869a2ec58925b2bac5458af487c52a8ca37)
49
+ Thanks [@benjie](https://github.com/benjie)! - Minimum version of Node.js
50
+ bumped to Node 22 (the latest LTS).
51
+
52
+ - [#2521](https://github.com/graphile/crystal/pull/2521)
53
+ [`c43ed67b9d3acbadb172ee88ba9c2a4d32528a25`](https://github.com/graphile/crystal/commit/c43ed67b9d3acbadb172ee88ba9c2a4d32528a25)
54
+ Thanks [@benjie](https://github.com/benjie)! - Fix bug in nullable nodeID
55
+ handling for computed column arguments with the Relay preset that was causing
56
+ the entire select to be inhibited on null/undefined.
57
+
58
+ - [#2517](https://github.com/graphile/crystal/pull/2517)
59
+ [`455f4811d37ad8fff91183c7a88621bcf9d79acf`](https://github.com/graphile/crystal/commit/455f4811d37ad8fff91183c7a88621bcf9d79acf)
60
+ Thanks [@benjie](https://github.com/benjie)! - Various of our steps weren't as
61
+ crisp on types as they could be. This makes them a lot stricter:
62
+
63
+ - `coalesce()` now yields `null` if it fails
64
+ - `each()` now reflects the type of the list item even if it's not a "list
65
+ capable" step
66
+ - `loadOne()`/`loadMany()` can now track the underlying nullability of the
67
+ callback (can differentiate `Maybe<ReadonlyArrray<Maybe<Thing>>>` from
68
+ `ReadonlyArray<Maybe<Thing>>` from `ReadonlyArray<Thing> | null` etc)
69
+ - `pgSelectFromRecord` (for `@dataplan/pg` users) no longer requires a mutable
70
+ array
71
+
72
+ 🚨 This will potentially break your plan types quite a bit. In particular, the
73
+ `LoadOneCallback` and `LoadManyCallback` types now have 5 (not 4) generic
74
+ parameters, the new one is inserted in the middle (after the second parameter)
75
+ and indicates the true return type of the callback (ignoring promises) - e.g.
76
+ `Maybe<ReadonlyArray<Maybe<ItemType>>>` for `LoadManyCallback`. They have
77
+ sensible defaults if you only specify the first two generics.
78
+
79
+ - [#2523](https://github.com/graphile/crystal/pull/2523)
80
+ [`b05d57b932ea00d10715dcab9f79d443408881fc`](https://github.com/graphile/crystal/commit/b05d57b932ea00d10715dcab9f79d443408881fc)
81
+ Thanks [@Dacjan](https://github.com/Dacjan)! - Fix bug with `@ref ... plural`
82
+ smart tag where multiple `@refVia` are present but the target type is not
83
+ abstract.
84
+ - Updated dependencies
85
+ [[`0e36cb9077c76710d2e407830323f86c5038126e`](https://github.com/graphile/crystal/commit/0e36cb9077c76710d2e407830323f86c5038126e),
86
+ [`5a26196eff8fd1956d73e0b8fdf5cfcb7f01b7d3`](https://github.com/graphile/crystal/commit/5a26196eff8fd1956d73e0b8fdf5cfcb7f01b7d3),
87
+ [`c0c3f48fa9f60cb9a4436ea135979b779ecc71ec`](https://github.com/graphile/crystal/commit/c0c3f48fa9f60cb9a4436ea135979b779ecc71ec),
88
+ [`cef9a37f846b4af105ac20960530d65c9f44afa9`](https://github.com/graphile/crystal/commit/cef9a37f846b4af105ac20960530d65c9f44afa9),
89
+ [`56ce94a847c6a4094643665cbf5d3712f56140b6`](https://github.com/graphile/crystal/commit/56ce94a847c6a4094643665cbf5d3712f56140b6),
90
+ [`070467c4ea693a2516fc8006bebb88b1ab96fb26`](https://github.com/graphile/crystal/commit/070467c4ea693a2516fc8006bebb88b1ab96fb26),
91
+ [`192a27e08763ea26607344a2ea6c7f5c595cc2a3`](https://github.com/graphile/crystal/commit/192a27e08763ea26607344a2ea6c7f5c595cc2a3),
92
+ [`6ef6abce15936a896156d5316020df55cf7d18e3`](https://github.com/graphile/crystal/commit/6ef6abce15936a896156d5316020df55cf7d18e3),
93
+ [`0239c2d519300a72f545e0db7c371adae4ade2a9`](https://github.com/graphile/crystal/commit/0239c2d519300a72f545e0db7c371adae4ade2a9),
94
+ [`0ea439d33ccef7f8d01ac5f54893ab2bbf1cbd4d`](https://github.com/graphile/crystal/commit/0ea439d33ccef7f8d01ac5f54893ab2bbf1cbd4d),
95
+ [`8034614d1078b1bd177b6e7fcc949420614e3245`](https://github.com/graphile/crystal/commit/8034614d1078b1bd177b6e7fcc949420614e3245),
96
+ [`a830770e775a65ce1d09fa767f38e84f5c0e5139`](https://github.com/graphile/crystal/commit/a830770e775a65ce1d09fa767f38e84f5c0e5139),
97
+ [`459e1869a2ec58925b2bac5458af487c52a8ca37`](https://github.com/graphile/crystal/commit/459e1869a2ec58925b2bac5458af487c52a8ca37),
98
+ [`c350e49e372ec12a4cbf04fb6b4260e01832d12b`](https://github.com/graphile/crystal/commit/c350e49e372ec12a4cbf04fb6b4260e01832d12b),
99
+ [`3176ea3e57d626b39613a73117ef97627370ec83`](https://github.com/graphile/crystal/commit/3176ea3e57d626b39613a73117ef97627370ec83),
100
+ [`46a42f5547c041289aa98657ebc6815f4b6c8539`](https://github.com/graphile/crystal/commit/46a42f5547c041289aa98657ebc6815f4b6c8539),
101
+ [`a87bbd76f1a8b60fd86de65922746d830cc160b4`](https://github.com/graphile/crystal/commit/a87bbd76f1a8b60fd86de65922746d830cc160b4),
102
+ [`be3f174c5aae8fe78a240e1bc4e1de7f18644b43`](https://github.com/graphile/crystal/commit/be3f174c5aae8fe78a240e1bc4e1de7f18644b43),
103
+ [`576fb8bad56cb940ab444574d752e914d462018a`](https://github.com/graphile/crystal/commit/576fb8bad56cb940ab444574d752e914d462018a),
104
+ [`9f459101fa4428aa4bac71531e75f99e33da8e17`](https://github.com/graphile/crystal/commit/9f459101fa4428aa4bac71531e75f99e33da8e17),
105
+ [`921665df8babe2651ab3b5886ab68bb518f2125b`](https://github.com/graphile/crystal/commit/921665df8babe2651ab3b5886ab68bb518f2125b),
106
+ [`78bb1a615754d772a5fda000e96073c91fa9eba7`](https://github.com/graphile/crystal/commit/78bb1a615754d772a5fda000e96073c91fa9eba7),
107
+ [`c9cd0cc72a4db4b02b2bdf770161c9346cb4b174`](https://github.com/graphile/crystal/commit/c9cd0cc72a4db4b02b2bdf770161c9346cb4b174),
108
+ [`ab0bcda5fc3c136eea09493a7d9ed4542975858e`](https://github.com/graphile/crystal/commit/ab0bcda5fc3c136eea09493a7d9ed4542975858e),
109
+ [`455f4811d37ad8fff91183c7a88621bcf9d79acf`](https://github.com/graphile/crystal/commit/455f4811d37ad8fff91183c7a88621bcf9d79acf),
110
+ [`45adaff886e7cd72b864150927be6c0cb4a7dfe8`](https://github.com/graphile/crystal/commit/45adaff886e7cd72b864150927be6c0cb4a7dfe8)]:
111
+ - grafast@0.1.1-beta.22
112
+ - pg-sql2@5.0.0-beta.9
113
+ - @dataplan/pg@0.0.1-beta.33
114
+ - graphile-build@5.0.0-beta.34
115
+ - graphile-config@0.0.1-beta.16
116
+ - pg-introspection@0.0.1-beta.11
117
+ - tamedevil@0.0.0-beta.8
118
+
119
+ ## 5.0.0-beta.38
120
+
121
+ ### Patch Changes
122
+
123
+ - [#2407](https://github.com/graphile/crystal/pull/2407)
124
+ [`be1e558d6a1a8cae3bf4b5724c340469d8837504`](https://github.com/graphile/crystal/commit/be1e558d6a1a8cae3bf4b5724c340469d8837504)
125
+ Thanks [@benjie](https://github.com/benjie)! - Generating parameter analysis
126
+ at runtime is unnecessarily expensive, allow callers to pass a parameter
127
+ analysis that has been performed at plan-time and cached.
128
+
129
+ - [#2377](https://github.com/graphile/crystal/pull/2377)
130
+ [`7c38cdeffe034c9b4f5cdd03a8f7f446bd52dcb7`](https://github.com/graphile/crystal/commit/7c38cdeffe034c9b4f5cdd03a8f7f446bd52dcb7)
131
+ Thanks [@benjie](https://github.com/benjie)! - Since `ModifierStep` and
132
+ `BaseStep` are no more; `ExecutableStep` can be renamed to simply `Step`. The
133
+ old name (`ExecutableStep`) is now deprecated.
134
+
135
+ - [#2424](https://github.com/graphile/crystal/pull/2424)
136
+ [`e6da5d956ab696932410e7172cedfacba71dbf5e`](https://github.com/graphile/crystal/commit/e6da5d956ab696932410e7172cedfacba71dbf5e)
137
+ Thanks [@benjie](https://github.com/benjie)! - Small tweaks to make exported
138
+ schemas have nicer formatting.
139
+
140
+ - [#2407](https://github.com/graphile/crystal/pull/2407)
141
+ [`ba2bfa15deaaddd92757a56c2b761624afe940bd`](https://github.com/graphile/crystal/commit/ba2bfa15deaaddd92757a56c2b761624afe940bd)
142
+ Thanks [@benjie](https://github.com/benjie)! - Add makeArgsRuntime helper to
143
+ enable generating the argument expressions for a PostgreSQL function at
144
+ runtime, as required by postgraphile-plugin-connection-filter.
145
+
146
+ - [#2398](https://github.com/graphile/crystal/pull/2398)
147
+ [`c041fd250372c57601188b65a6411c8f440afab6`](https://github.com/graphile/crystal/commit/c041fd250372c57601188b65a6411c8f440afab6)
148
+ Thanks [@benjie](https://github.com/benjie)! - Since the following have been
149
+ removed from Grafast, throw an error if they're seen in the schema:
150
+
151
+ - `autoApplyAfterParentInputPlan`
152
+ - `autoApplyAfterParentApplyPlan`
153
+ - `autoApplyAfterParentPlan`
154
+ - `autoApplyAfterParentSubscribePlan`
155
+ - `inputPlan`
156
+ - `applyPlan` on input fields
157
+
158
+ Also: when Query type fails to build, throw the underlying error directly.
159
+
160
+ - [#2384](https://github.com/graphile/crystal/pull/2384)
161
+ [`6d19724330d50d076aab9442660fa8abddd095cb`](https://github.com/graphile/crystal/commit/6d19724330d50d076aab9442660fa8abddd095cb)
162
+ Thanks [@benjie](https://github.com/benjie)! - Move postgresql argument logic
163
+ to runtime (from plantime) to avoid plantime eval of input values.
164
+
165
+ - [#2376](https://github.com/graphile/crystal/pull/2376)
166
+ [`da6f3c04efe3d8634c0bc3fcf93ac2518de85322`](https://github.com/graphile/crystal/commit/da6f3c04efe3d8634c0bc3fcf93ac2518de85322)
167
+ Thanks [@benjie](https://github.com/benjie)! - Overhaul Grafast to remove more
168
+ input planning - inputs should be evaluated at runtime - and remove more
169
+ plan-time step evaluation.
170
+
171
+ `FieldArgs.get` is no more; use `FieldArgs.getRaw` or use `bakedInput()`
172
+ (TODO: document) to get the "baked" version of a raw input value.
173
+
174
+ Input object fields no longer have `applyPlan`/`inputPlan`, instead having the
175
+ runtime equivalents `apply()` and `baked()`. `FieldArgs` is no longer
176
+ available on input object fields, since these fields are no longer called at
177
+ plantime; instead, the actual value is passed.
178
+
179
+ `FieldArgs` gains `.typeAt(path)` method that details the GraphQL input type
180
+ at the given path.
181
+
182
+ Field arguments are no longer passed `FieldArgs`, instead they're passed a
183
+ (similar) `FieldArg` object representing the argument value itself.
184
+
185
+ `autoApplyAfterParentPlan` is no more - instead if an argument has `applyPlan`
186
+ it will be called automatically unless it was called during the field plan
187
+ resolver itself.
188
+
189
+ `autoApplyAfterParentSubscribePlan` is no more - instead if an argument has
190
+ `applySubscribePlan` it will be called automatically unless it was called
191
+ during the field plan resolver itself.
192
+
193
+ Field arguments no longer support `inputPlan` - use `bakedInput()` if you need
194
+ that.
195
+
196
+ Input fields no longer support `inputPlan`, `applyPlan`,
197
+ `autoApplyAfterParentInputPlan` nor `autoApplyAfterParentApplyPlan`. Instead,
198
+ `apply()` (which is called by `applyStep()` at runtime) has been added.
199
+
200
+ `sqlValueWithCodec(value, codec)` can be used at runtime in places where
201
+ `$step.placeholder($value, codec)` would have been used previously.
202
+ `placeholder` has been removed from all places that are now runtime - namely
203
+ the list of modifiers below...
204
+
205
+ The following `ModifierStep` classes have all dropped their `Step` suffix,
206
+ these `Modifier` classes now all run at runtime, and are thus no longer steps;
207
+ they're invoked as part of the new `applyInput()` (TODO: document) step:
208
+
209
+ - `ModifierStep` &rArr; `Modifier`
210
+ - `PgBooleanFilterStep` &rArr; `PgBooleanFilter`
211
+ - `PgClassFilterStep` &rArr; `PgClassFilter`
212
+ - `PgConditionCapableParentStep` &rArr; `PgConditionCapableParent`
213
+ - `PgConditionLikeStep` &rArr; `PgConditionLike`
214
+ - `PgConditionStepMode` &rArr; `PgConditionMode`
215
+ - `PgConditionStep` &rArr; `PgCondition`
216
+ - `PgManyFilterStep` &rArr; `PgManyFilter`
217
+ - `PgOrFilterStep` &rArr; `PgOrFilter`
218
+ - `PgTempTableStep` &rArr; `PgTempTable`
219
+ - `SetterCapableStep` &rArr; `SetterCapable`
220
+ - `SetterStep` &rArr; `Setter`
221
+
222
+ (Interestingly, other than the removal of `placeholder` and the fact they deal
223
+ with runtime values rather than steps now, they're very similar to what they
224
+ were before.)
225
+
226
+ The deprecated forms of the above have been removed.
227
+
228
+ Methods that rely on these modifier plans have been removed:
229
+
230
+ - `PgUnionAllStep.wherePlan` - use
231
+ `fieldArg.apply($unionAll, qb => qb.whereBuilder())` instead
232
+ - `PgUnionAllStep.havingPlan` - use
233
+ `fieldArg.apply($unionAll, qb => qb.havingBuilder())` instead
234
+ - Same for PgSelectStep
235
+
236
+ The following gain query builders:
237
+
238
+ - `PgInsertSingle`
239
+ - `PgUpdateSingle`
240
+ - `PgDeleteSingle`
241
+
242
+ Query builders gain `meta`, an object that can be augmented with metadata
243
+ about the operation (typically this relates to cursors and similar
244
+ functionality). This is now used to implement `clientMutationId`.
245
+
246
+ Extends query builders with additional functionality.
247
+
248
+ Many of the types have had their generics changed, TypeScript should guide you
249
+ if you have issues here.
250
+
251
+ `NodeIdHandler` now requires a `getIdentifiers` method that runs at runtime
252
+ and returns the identifiers from a decoded NodeId string.
253
+
254
+ Types around GraphQL Global Object Identification (i.e. `Node` / `id`) have
255
+ changed.
256
+
257
+ - [#2357](https://github.com/graphile/crystal/pull/2357)
258
+ [`8026b982a81776fb3d1d808392970c2d678c4023`](https://github.com/graphile/crystal/commit/8026b982a81776fb3d1d808392970c2d678c4023)
259
+ Thanks [@benjie](https://github.com/benjie)! - Start migrating away from
260
+ `applyPlan`/`inputPlan`. ~~When adding an argument to a field you can now
261
+ augment the field's plan resolver via `context.addToPlanResolver` hook~~ (this
262
+ was later replaced with new `inputApply()` step, and arguments still keep
263
+ `applyPlan` though input object fields lose it). Use this and other changes to
264
+ move handling of orderBy to runtime from plantime.
265
+
266
+ Introduces runtime query builder for `PgSelectStep` and `PgUnionAllStep`, and
267
+ `PgSelectStep.apply()`/`PgUnionAllStep.apply()` so that you can register
268
+ callbacks that will augment the query builder at runtime.
269
+
270
+ - [#2407](https://github.com/graphile/crystal/pull/2407)
271
+ [`15854c5109114919b3d38fa675c539cda1f634a1`](https://github.com/graphile/crystal/commit/15854c5109114919b3d38fa675c539cda1f634a1)
272
+ Thanks [@benjie](https://github.com/benjie)! - Ensures that the `condition`
273
+ argument is added before the `orderBy` argument is added. This was necessary
274
+ due to postgraphile-plugin-fulltext-filter wishing to order by the result of
275
+ having added a condition (so adding the condition must come first).
276
+ - Updated dependencies
277
+ [[`d34014a9a3c469154cc796086ba13719954731e5`](https://github.com/graphile/crystal/commit/d34014a9a3c469154cc796086ba13719954731e5),
278
+ [`d3ae3415c230784fdfefc9d192ad93aca462bceb`](https://github.com/graphile/crystal/commit/d3ae3415c230784fdfefc9d192ad93aca462bceb),
279
+ [`98516379ac355a0833a64e002f3717cc3a1d6473`](https://github.com/graphile/crystal/commit/98516379ac355a0833a64e002f3717cc3a1d6473),
280
+ [`f8602d05eed3247c90b87c55d7af580d1698effc`](https://github.com/graphile/crystal/commit/f8602d05eed3247c90b87c55d7af580d1698effc),
281
+ [`65df25534fa3f787ba2ab7fd9547d295ff2b1288`](https://github.com/graphile/crystal/commit/65df25534fa3f787ba2ab7fd9547d295ff2b1288),
282
+ [`1b3c76efd27df73eab3a5a1d221ce13de4cd6b1a`](https://github.com/graphile/crystal/commit/1b3c76efd27df73eab3a5a1d221ce13de4cd6b1a),
283
+ [`f6e22692b628703b8ea48e580dc0b6f0bcbc9c5a`](https://github.com/graphile/crystal/commit/f6e22692b628703b8ea48e580dc0b6f0bcbc9c5a),
284
+ [`e10c372dafbe0d6014b1e946349b22f40aa87ef9`](https://github.com/graphile/crystal/commit/e10c372dafbe0d6014b1e946349b22f40aa87ef9),
285
+ [`c3538050abbb485cf1d43f7c870b89f1ad7c2218`](https://github.com/graphile/crystal/commit/c3538050abbb485cf1d43f7c870b89f1ad7c2218),
286
+ [`3c0a925f26f10cae627a23c49c75ccd8d76b60c8`](https://github.com/graphile/crystal/commit/3c0a925f26f10cae627a23c49c75ccd8d76b60c8),
287
+ [`fcaeb48844156e258a037f420ea1505edb50c52a`](https://github.com/graphile/crystal/commit/fcaeb48844156e258a037f420ea1505edb50c52a),
288
+ [`68926abc31c32ce527327ffbb1ede4b0b7be446b`](https://github.com/graphile/crystal/commit/68926abc31c32ce527327ffbb1ede4b0b7be446b),
289
+ [`98c5009e21e423b0da22c2cb70cdb62909578f50`](https://github.com/graphile/crystal/commit/98c5009e21e423b0da22c2cb70cdb62909578f50),
290
+ [`4b49dbd2df3b339a2ba3f1e9ff400fa1a125298b`](https://github.com/graphile/crystal/commit/4b49dbd2df3b339a2ba3f1e9ff400fa1a125298b),
291
+ [`d7950e8e28ec6106a4ce2f7fe5e35d88b10eac48`](https://github.com/graphile/crystal/commit/d7950e8e28ec6106a4ce2f7fe5e35d88b10eac48),
292
+ [`c8f1971ea4198633ec97f72f82abf65089f71a88`](https://github.com/graphile/crystal/commit/c8f1971ea4198633ec97f72f82abf65089f71a88),
293
+ [`182ed0564104f59b012e0f9ffd452556b0927750`](https://github.com/graphile/crystal/commit/182ed0564104f59b012e0f9ffd452556b0927750),
294
+ [`dd3d22eab73a8554715bf1111e30586251f69a88`](https://github.com/graphile/crystal/commit/dd3d22eab73a8554715bf1111e30586251f69a88),
295
+ [`a120a8e43b24dfc174950cdbb69e481272a0b45e`](https://github.com/graphile/crystal/commit/a120a8e43b24dfc174950cdbb69e481272a0b45e),
296
+ [`be1e558d6a1a8cae3bf4b5724c340469d8837504`](https://github.com/graphile/crystal/commit/be1e558d6a1a8cae3bf4b5724c340469d8837504),
297
+ [`3b0f5082b2272997ce33ce8823a4752513d19e28`](https://github.com/graphile/crystal/commit/3b0f5082b2272997ce33ce8823a4752513d19e28),
298
+ [`84f06eafa051e907a3050237ac6ee5aefb184652`](https://github.com/graphile/crystal/commit/84f06eafa051e907a3050237ac6ee5aefb184652),
299
+ [`4a3aeaa77c8b8d2e39c1a9d05581d0c613b812cf`](https://github.com/graphile/crystal/commit/4a3aeaa77c8b8d2e39c1a9d05581d0c613b812cf),
300
+ [`3789326b2e2fdb86519acc75e606c752ddefe590`](https://github.com/graphile/crystal/commit/3789326b2e2fdb86519acc75e606c752ddefe590),
301
+ [`12d3a7174949794a1679132635e196f5dadce8a2`](https://github.com/graphile/crystal/commit/12d3a7174949794a1679132635e196f5dadce8a2),
302
+ [`ab7658ac44e1a5a0a98c6bb688a26d94b1175cc1`](https://github.com/graphile/crystal/commit/ab7658ac44e1a5a0a98c6bb688a26d94b1175cc1),
303
+ [`bc2a00d35f0a1954dba22e857adc3f4e2f5118e5`](https://github.com/graphile/crystal/commit/bc2a00d35f0a1954dba22e857adc3f4e2f5118e5),
304
+ [`ceeb9a6b63e566b09298e0440a385943302ad0f9`](https://github.com/graphile/crystal/commit/ceeb9a6b63e566b09298e0440a385943302ad0f9),
305
+ [`3e8c64bef928295494119e15e1e55cbdadb696fa`](https://github.com/graphile/crystal/commit/3e8c64bef928295494119e15e1e55cbdadb696fa),
306
+ [`0fc2db95d90df918cf5c59ef85f22ac78d8000d3`](https://github.com/graphile/crystal/commit/0fc2db95d90df918cf5c59ef85f22ac78d8000d3),
307
+ [`90e81a5deeae554a8be2dd55dcd01489860e96e6`](https://github.com/graphile/crystal/commit/90e81a5deeae554a8be2dd55dcd01489860e96e6),
308
+ [`836c8327a5ca1bd3c69f72055e71d00694de363e`](https://github.com/graphile/crystal/commit/836c8327a5ca1bd3c69f72055e71d00694de363e),
309
+ [`2f31836cb89a7ab27a8919803fe12b53a46d77e4`](https://github.com/graphile/crystal/commit/2f31836cb89a7ab27a8919803fe12b53a46d77e4),
310
+ [`c59132eb7a93bc82493d2f1ca050db8aaea9f4d1`](https://github.com/graphile/crystal/commit/c59132eb7a93bc82493d2f1ca050db8aaea9f4d1),
311
+ [`7c38cdeffe034c9b4f5cdd03a8f7f446bd52dcb7`](https://github.com/graphile/crystal/commit/7c38cdeffe034c9b4f5cdd03a8f7f446bd52dcb7),
312
+ [`728888b28fcd2a6fc481e0ccdfe20d41181a091f`](https://github.com/graphile/crystal/commit/728888b28fcd2a6fc481e0ccdfe20d41181a091f),
313
+ [`f4f39092d7a51517668384945895d3b450237cce`](https://github.com/graphile/crystal/commit/f4f39092d7a51517668384945895d3b450237cce),
314
+ [`5cf3dc9d158891eaf324b2cd4f485d1d4bbb6b5e`](https://github.com/graphile/crystal/commit/5cf3dc9d158891eaf324b2cd4f485d1d4bbb6b5e),
315
+ [`925689578ee9def403382df70f0e003bb299c166`](https://github.com/graphile/crystal/commit/925689578ee9def403382df70f0e003bb299c166),
316
+ [`83d3b533e702cc875b46ba2ca02bf3642b421be8`](https://github.com/graphile/crystal/commit/83d3b533e702cc875b46ba2ca02bf3642b421be8),
317
+ [`7001138c38e09822ad13db1018c62d2cac37941e`](https://github.com/graphile/crystal/commit/7001138c38e09822ad13db1018c62d2cac37941e),
318
+ [`e9e7e33665e22ec397e9ead054d2e4aad3eadc8c`](https://github.com/graphile/crystal/commit/e9e7e33665e22ec397e9ead054d2e4aad3eadc8c),
319
+ [`bb6ec8d834e3e630e28316196246f514114a2296`](https://github.com/graphile/crystal/commit/bb6ec8d834e3e630e28316196246f514114a2296),
320
+ [`3e188c2e981193d228ba3b7433f5e326336f629b`](https://github.com/graphile/crystal/commit/3e188c2e981193d228ba3b7433f5e326336f629b),
321
+ [`07a5469e5d3d050a7bcab928bb751c9e150d2e49`](https://github.com/graphile/crystal/commit/07a5469e5d3d050a7bcab928bb751c9e150d2e49),
322
+ [`e6da5d956ab696932410e7172cedfacba71dbf5e`](https://github.com/graphile/crystal/commit/e6da5d956ab696932410e7172cedfacba71dbf5e),
323
+ [`2b1918d053f590cdc534c8cb81f7e74e96c1bbe6`](https://github.com/graphile/crystal/commit/2b1918d053f590cdc534c8cb81f7e74e96c1bbe6),
324
+ [`037a1bcdc8ed8493d4748e08c18f258e4382a815`](https://github.com/graphile/crystal/commit/037a1bcdc8ed8493d4748e08c18f258e4382a815),
325
+ [`72b300b436a7acedaa7d0e3a7a5458d15a0e5396`](https://github.com/graphile/crystal/commit/72b300b436a7acedaa7d0e3a7a5458d15a0e5396),
326
+ [`770363214ee630746cddc9080dec22bbf38a3bb5`](https://github.com/graphile/crystal/commit/770363214ee630746cddc9080dec22bbf38a3bb5),
327
+ [`d1ecb39693a341f85762b27012ec4ea013857b0c`](https://github.com/graphile/crystal/commit/d1ecb39693a341f85762b27012ec4ea013857b0c),
328
+ [`042ebafe11fcf7e2ecac9b131265a55dddd42a6d`](https://github.com/graphile/crystal/commit/042ebafe11fcf7e2ecac9b131265a55dddd42a6d),
329
+ [`fa005eb0783c58a2476add984fbdd462e0e91dbe`](https://github.com/graphile/crystal/commit/fa005eb0783c58a2476add984fbdd462e0e91dbe),
330
+ [`df0e5a0f968cf6f9ae97b68745a9a2f391324bf5`](https://github.com/graphile/crystal/commit/df0e5a0f968cf6f9ae97b68745a9a2f391324bf5),
331
+ [`ef4cf75acd80e6b9c700c2b5a7ace899e565ef7f`](https://github.com/graphile/crystal/commit/ef4cf75acd80e6b9c700c2b5a7ace899e565ef7f),
332
+ [`ba2bfa15deaaddd92757a56c2b761624afe940bd`](https://github.com/graphile/crystal/commit/ba2bfa15deaaddd92757a56c2b761624afe940bd),
333
+ [`c041fd250372c57601188b65a6411c8f440afab6`](https://github.com/graphile/crystal/commit/c041fd250372c57601188b65a6411c8f440afab6),
334
+ [`629b45aab49151810f6efc18ac18f7d735626433`](https://github.com/graphile/crystal/commit/629b45aab49151810f6efc18ac18f7d735626433),
335
+ [`6d19724330d50d076aab9442660fa8abddd095cb`](https://github.com/graphile/crystal/commit/6d19724330d50d076aab9442660fa8abddd095cb),
336
+ [`ca5bc1a834df7b894088fb8602a12f9fcff55b38`](https://github.com/graphile/crystal/commit/ca5bc1a834df7b894088fb8602a12f9fcff55b38),
337
+ [`da6f3c04efe3d8634c0bc3fcf93ac2518de85322`](https://github.com/graphile/crystal/commit/da6f3c04efe3d8634c0bc3fcf93ac2518de85322),
338
+ [`8026b982a81776fb3d1d808392970c2d678c4023`](https://github.com/graphile/crystal/commit/8026b982a81776fb3d1d808392970c2d678c4023),
339
+ [`d257a1a1e59a7d4da0bf67345c07b04c04a2f7da`](https://github.com/graphile/crystal/commit/d257a1a1e59a7d4da0bf67345c07b04c04a2f7da),
340
+ [`00d79e6f5608affc3f36bb0ce4ca2547230174e7`](https://github.com/graphile/crystal/commit/00d79e6f5608affc3f36bb0ce4ca2547230174e7),
341
+ [`412b92a0b1e03ad962521f630b57a996d8620cf6`](https://github.com/graphile/crystal/commit/412b92a0b1e03ad962521f630b57a996d8620cf6),
342
+ [`f0bc64b71914dfdd3612f4b65370401fd85b97bc`](https://github.com/graphile/crystal/commit/f0bc64b71914dfdd3612f4b65370401fd85b97bc)]:
343
+ - grafast@0.1.1-beta.21
344
+ - @dataplan/pg@0.0.1-beta.32
345
+ - pg-sql2@5.0.0-beta.8
346
+ - graphile-build@5.0.0-beta.33
347
+ - graphile-config@0.0.1-beta.15
348
+
349
+ ## 5.0.0-beta.37
350
+
351
+ ### Patch Changes
352
+
353
+ - Updated dependencies
354
+ [[`fc9d64eb8`](https://github.com/graphile/crystal/commit/fc9d64eb8002d3b72625bc505ed76c07f4296d68),
355
+ [`a2dbad945`](https://github.com/graphile/crystal/commit/a2dbad9457195bec797d72e4e6d45f45278f9f69),
356
+ [`31078842a`](https://github.com/graphile/crystal/commit/31078842ad0eeaa7111491fa9eb5e3bd026fb38a),
357
+ [`5a0ec31de`](https://github.com/graphile/crystal/commit/5a0ec31deae91f1dd17a77a4bb7c1a911a27e26a)]:
358
+ - @dataplan/pg@0.0.1-beta.31
359
+ - grafast@0.1.1-beta.20
360
+ - graphile-build@5.0.0-beta.32
361
+
362
+ ## 5.0.0-beta.36
363
+
364
+ ### Patch Changes
365
+
366
+ - Updated dependencies
367
+ [[`83c546509`](https://github.com/graphile/crystal/commit/83c546509d24be2955a56120981363ad3c3a5f3f)]:
368
+ - graphile-config@0.0.1-beta.14
369
+ - @dataplan/pg@0.0.1-beta.30
370
+ - grafast@0.1.1-beta.19
371
+ - graphile-build@5.0.0-beta.31
372
+
373
+ ## 5.0.0-beta.35
374
+
375
+ ### Patch Changes
376
+
377
+ - Updated dependencies
378
+ [[`7580bc16a`](https://github.com/graphile/crystal/commit/7580bc16a050fd8d916c6dabe9d1ded980090349),
379
+ [`b336a5829`](https://github.com/graphile/crystal/commit/b336a58291cfec7aef884d3843172d408abfaf3c)]:
380
+ - graphile-config@0.0.1-beta.13
381
+ - @dataplan/pg@0.0.1-beta.29
382
+ - grafast@0.1.1-beta.18
383
+ - graphile-build@5.0.0-beta.30
384
+
385
+ ## 5.0.0-beta.34
386
+
387
+ ### Patch Changes
388
+
389
+ - [#2269](https://github.com/graphile/crystal/pull/2269)
390
+ [`bee1db4f4`](https://github.com/graphile/crystal/commit/bee1db4f442502b62cb05cd0f7092990328497b8)
391
+ Thanks [@benjie](https://github.com/benjie)! - Hotfix to inflection changes in
392
+ beta.34 - fixes behavior of `orderByAttributeEnum` and removes V4 override of
393
+ `_joinAttributeNames` which shouldn't be necessary (and seems to do more harm
394
+ than good).
395
+
396
+ ## 5.0.0-beta.33
397
+
398
+ ### Patch Changes
399
+
400
+ - [#2251](https://github.com/graphile/crystal/pull/2251)
401
+ [`555d65cce`](https://github.com/graphile/crystal/commit/555d65ccecb875f1e34cb40108176f0ddc11df64)
402
+ Thanks [@benjie](https://github.com/benjie)! - We now enforce GraphQL name
403
+ checks earlier and supply more information to better reveal where any invalid
404
+ names are originating.
405
+
406
+ - [#2251](https://github.com/graphile/crystal/pull/2251)
407
+ [`efa25d97d`](https://github.com/graphile/crystal/commit/efa25d97df2e00f13bc29806d396a8366a121031)
408
+ Thanks [@benjie](https://github.com/benjie)! - 🚨 **Inflection changes!** V4
409
+ preset should be (mostly) unaffected, but Amber preset will likely have
410
+ changes between `ID` and `ROW_ID` in various places, plus missing underscores
411
+ may reappear/etc. Be sure to diff your schema before/after this update (as you
412
+ should with every update... and to be honest, with everything else that
413
+ changes your schema).
414
+
415
+ Normally `camelCase`/`upperCamelCase`/`constantCase`/etc are the final step
416
+ before we name a field/type/enumValue/etc; however it turns out that some
417
+ inflectors were using the camel-cased output as input to their own
418
+ inflection - for example, when calculating the name of a relation it would
419
+ take the column names _camel-cased_ and then combine them into a string which
420
+ was then camel-cased again. Even worse, when these values are then used in an
421
+ enum, it would then be _constant-cased_, so you end up with string 👉
422
+ camel-case 👉 concatenate 👉 camel-case 👉 concatenate 👉 constant-case. This
423
+ lead to certain edge cases where fields with numbers or underscores may come
424
+ out in unexpected ways.
425
+
426
+ This release creates "raw" backing inflectors for a few things that remove the
427
+ final step (camel-casing) so that later usage may choose to use the raw value
428
+ rather than the camel-cased value. And due to this, we've also moved the `id`
429
+ 👉 `rowId` tweaks from the `attribute()` inflector into the `_attributeName()`
430
+ inflector - which is where most of the changes have come from. We've undone
431
+ this change in the V4 preset, so if you don't use the V5 preset but need to
432
+ undo this change, please check out the V4 overrides of:
433
+
434
+ - [`_attributeName`](https://github.com/graphile/crystal/blob/ca9c872ff6c95915bd9e2f33c1370d86742ce815/postgraphile/postgraphile/src/presets/v4.ts#L135-L145)
435
+ - [`_joinAttributeNames`](https://github.com/graphile/crystal/blob/ca9c872ff6c95915bd9e2f33c1370d86742ce815/postgraphile/postgraphile/src/plugins/PgV4InflectionPlugin.ts#L131-L138)
436
+ - [`attribute`](https://github.com/graphile/crystal/blob/ca9c872ff6c95915bd9e2f33c1370d86742ce815/postgraphile/postgraphile/src/presets/v4.ts#L158-L169)
437
+
438
+ Note: the V4 preset is fairly stable, but the Amber preset is being constantly
439
+ iterated to improve the OOTB V5 experience - it will only be stable once
440
+ V5.0.0 is released.
441
+
442
+ - [#2261](https://github.com/graphile/crystal/pull/2261)
443
+ [`a202145c5`](https://github.com/graphile/crystal/commit/a202145c5af3e5467424e6772d532c2db1eb67c6)
444
+ Thanks [@benjie](https://github.com/benjie)! - Fix bug causing modifications
445
+ to introspection results (e.g. fake constraints) to be persisted to next watch
446
+ tick via gather cache.
447
+
448
+ - [#2257](https://github.com/graphile/crystal/pull/2257)
449
+ [`2a37fb99a`](https://github.com/graphile/crystal/commit/2a37fb99a04784647dff6ab8c5bfffb072cc6e8a)
450
+ Thanks [@benjie](https://github.com/benjie)! - Overhaul how PostgreSQL arrays
451
+ are handled, and fix the "empty arrays become null" bug caused by using
452
+ `array_agg()`.
453
+
454
+ - [#2265](https://github.com/graphile/crystal/pull/2265)
455
+ [`5d9f2de85`](https://github.com/graphile/crystal/commit/5d9f2de8519b216732b17464d0b326ec8d7c58de)
456
+ Thanks [@benjie](https://github.com/benjie)! - Prevents inlining (via joins)
457
+ child PgSelect queries into parents when the parent is relying on implicit
458
+ ordering coming from a function or suitably flagged subquery.
459
+
460
+ - [#2251](https://github.com/graphile/crystal/pull/2251)
461
+ [`84f07626d`](https://github.com/graphile/crystal/commit/84f07626d9dd9e22f6ae6a1045053df046fbc4ea)
462
+ Thanks [@benjie](https://github.com/benjie)! - 🚨 `orderByAttributeEnum`
463
+ inflector no longer requires/provides attribute - it can be trivially fetched
464
+ from `codec` and `attributeName` via
465
+ `const attribute = codec.attributes[attributeName]`
466
+
467
+ - [#2250](https://github.com/graphile/crystal/pull/2250)
468
+ [`86e228299`](https://github.com/graphile/crystal/commit/86e22829996a745dc1f8cbaf32e709b1bd346e79)
469
+ Thanks [@benjie](https://github.com/benjie)! - Integrate preset.lib into build
470
+ and gather context so plugins can use modules without needing to install
471
+ dependencies (and thus avoiding the dual package hazard).
472
+
473
+ - [#2249](https://github.com/graphile/crystal/pull/2249)
474
+ [`933786868`](https://github.com/graphile/crystal/commit/9337868689f4f05ab5faf2d4bb18a8ad8e23e189)
475
+ Thanks [@benjie](https://github.com/benjie)! -
476
+ `PgCodec.extensions.pg.serviceName` is now nullable to indicate natively
477
+ supported PG types.
478
+ - Updated dependencies
479
+ [[`555d65cce`](https://github.com/graphile/crystal/commit/555d65ccecb875f1e34cb40108176f0ddc11df64),
480
+ [`69ab227b5`](https://github.com/graphile/crystal/commit/69ab227b5e1c057a6fc8ebba87bde80d5aa7f3c8),
481
+ [`efa25d97d`](https://github.com/graphile/crystal/commit/efa25d97df2e00f13bc29806d396a8366a121031),
482
+ [`d13b76f0f`](https://github.com/graphile/crystal/commit/d13b76f0fef2a58466ecb44880af62d25910e83e),
483
+ [`b167bd849`](https://github.com/graphile/crystal/commit/b167bd8499be5866b71bac6594d55bd768fda1d0),
484
+ [`dc5746594`](https://github.com/graphile/crystal/commit/dc5746594d7870a13296f405f4327f89d17dac1e),
485
+ [`7bf045282`](https://github.com/graphile/crystal/commit/7bf04528264c3b9c509f148253fed96d3394141d),
486
+ [`2a37fb99a`](https://github.com/graphile/crystal/commit/2a37fb99a04784647dff6ab8c5bfffb072cc6e8a),
487
+ [`5d9f2de85`](https://github.com/graphile/crystal/commit/5d9f2de8519b216732b17464d0b326ec8d7c58de),
488
+ [`6a13ecbd4`](https://github.com/graphile/crystal/commit/6a13ecbd45534c39c846c1d8bc58242108426dd1),
489
+ [`86e228299`](https://github.com/graphile/crystal/commit/86e22829996a745dc1f8cbaf32e709b1bd346e79),
490
+ [`cba6ee06d`](https://github.com/graphile/crystal/commit/cba6ee06d38ec5ae4ef4dafa58569fad61f239ac)]:
491
+ - graphile-build@5.0.0-beta.29
492
+ - grafast@0.1.1-beta.17
493
+ - graphile-config@0.0.1-beta.12
494
+ - pg-introspection@0.0.1-beta.10
495
+ - pg-sql2@5.0.0-beta.7
496
+ - @dataplan/pg@0.0.1-beta.28
497
+
498
+ ## 5.0.0-beta.32
499
+
500
+ ### Patch Changes
501
+
502
+ - [#2229](https://github.com/graphile/crystal/pull/2229)
503
+ [`87bdf9730`](https://github.com/graphile/crystal/commit/87bdf973036a3801e44b22cfc9f0feb639de4aa9)
504
+ Thanks [@benjie](https://github.com/benjie)! - Fixes bug handling optional
505
+ arguments to computed column functions.
506
+
507
+ - [#2230](https://github.com/graphile/crystal/pull/2230)
508
+ [`aa480f6a3`](https://github.com/graphile/crystal/commit/aa480f6a3db8b545ff113e7a3a4b479be42a0eab)
509
+ Thanks [@benjie](https://github.com/benjie)! - Fix bug recognizing the
510
+ required-ness of arguments to functions using `out` args or `returns table` -
511
+ this particularly affects people using `pgStrictFunctions` and should result
512
+ in a couple of required arguments becoming nullable.
513
+ - Updated dependencies
514
+ [[`5626c7d36`](https://github.com/graphile/crystal/commit/5626c7d3649285e11fe9857dfa319d2883d027eb),
515
+ [`76c7340b7`](https://github.com/graphile/crystal/commit/76c7340b74d257c454beec883384d19ef078b21e)]:
516
+ - graphile-config@0.0.1-beta.11
517
+ - grafast@0.1.1-beta.16
518
+ - @dataplan/pg@0.0.1-beta.27
519
+ - graphile-build@5.0.0-beta.28
520
+
521
+ ## 5.0.0-beta.31
522
+
523
+ ### Patch Changes
524
+
525
+ - [#2208](https://github.com/graphile/crystal/pull/2208)
526
+ [`632691409`](https://github.com/graphile/crystal/commit/6326914098af55f20ac85ccf3537e75910a7dafa)
527
+ Thanks [@benjie](https://github.com/benjie)! - Behaviors can now be registered
528
+ by more than one plugin. Apply behaviors to more entities. Don't log so much.
529
+ - Updated dependencies
530
+ [[`632691409`](https://github.com/graphile/crystal/commit/6326914098af55f20ac85ccf3537e75910a7dafa)]:
531
+ - graphile-build@5.0.0-beta.27
532
+
533
+ ## 5.0.0-beta.30
534
+
535
+ ### Patch Changes
536
+
537
+ - [#2207](https://github.com/graphile/crystal/pull/2207)
538
+ [`0b1f7b577`](https://github.com/graphile/crystal/commit/0b1f7b577114a49b8e3283823845ec6e37484240)
539
+ Thanks [@benjie](https://github.com/benjie)! - Fix overwhelming logs and
540
+ errors being output by the new behavior system
541
+
542
+ - Updated dependencies
543
+ [[`0b1f7b577`](https://github.com/graphile/crystal/commit/0b1f7b577114a49b8e3283823845ec6e37484240)]:
544
+ - graphile-build@5.0.0-beta.26
545
+
546
+ ## 5.0.0-beta.29
547
+
548
+ ### Patch Changes
549
+
550
+ - [#2197](https://github.com/graphile/crystal/pull/2197)
551
+ [`d7e6e714f`](https://github.com/graphile/crystal/commit/d7e6e714f0cc5656112703484298b77538b2dccc)
552
+ Thanks [@benjie](https://github.com/benjie)! - Amber preset now supports
553
+ `@resultFieldName` on mutation functions, like V4 preset does.
554
+
555
+ - [#2187](https://github.com/graphile/crystal/pull/2187)
556
+ [`bb006ec7b`](https://github.com/graphile/crystal/commit/bb006ec7bdab24192c84f093ce3f92969aeb7279)
557
+ Thanks [@benjie](https://github.com/benjie)! - Fix behavior inheritance
558
+ especially around functions incorrectly inheriting from their underlying
559
+ codecs, bugs in unlogged/temp table behavior, and incorrect skipping of
560
+ generating table types. You may find after this change you have fields
561
+ appearing in your schema that were not present before, typically these will
562
+ represent database functions where you `@omit`'d the underlying table -
563
+ omitting the table should not prevent a function from accessing it. Further,
564
+ fix behavior of `@omit read` emulation to add
565
+ `-connection -list -array -single`.
566
+
567
+ - [#2156](https://github.com/graphile/crystal/pull/2156)
568
+ [`6fdc6cad8`](https://github.com/graphile/crystal/commit/6fdc6cad8f8d1230202df533d05cc2bd80538f09)
569
+ Thanks [@benjie](https://github.com/benjie)! - Added `pgRegistry.pgExecutors`
570
+ so executors don't need to be looked up from a resource (this causes
571
+ confusion) - instead they can be referenced directly. By default there's one
572
+ executor called `main`, i.e. `build.input.pgRegistry.pgExecutors.main`.
573
+
574
+ - [#2189](https://github.com/graphile/crystal/pull/2189)
575
+ [`0df171123`](https://github.com/graphile/crystal/commit/0df17112300a8ea391dfd220c5f05d362ceaa58a)
576
+ Thanks [@benjie](https://github.com/benjie)! - Fix issue with manyToMany
577
+ behavior warnings
578
+
579
+ - [#2158](https://github.com/graphile/crystal/pull/2158)
580
+ [`dfac43992`](https://github.com/graphile/crystal/commit/dfac43992019b0b6c1d113d2490a87eb03d103d7)
581
+ Thanks [@benjie](https://github.com/benjie)! - 🚨 Amber preset no longer
582
+ enables backward pagination options (`before`, `last`) on functions by
583
+ default - add `+backwards` behavior to these functions to enable. If you're
584
+ using the V4 preset you should be unaffected by this change because it enables
585
+ `+backwards` by default.
586
+
587
+ - [#2160](https://github.com/graphile/crystal/pull/2160)
588
+ [`426e9320e`](https://github.com/graphile/crystal/commit/426e9320e76ef95927eebb6fe4072050b6208771)
589
+ Thanks [@benjie](https://github.com/benjie)! - Massive overhaul of the
590
+ behavior system which now has a centralized registry of known behaviors and
591
+ applies behaviors in a more careful and nuanced way, removing many hacks and
592
+ workarounds, and ultimately meaning that `defaultBehavior: "-*"` should now
593
+ operate correctly. Importantly, `addBehaviorToTags()` has been removed - you
594
+ should use `plugin.schema.entityBehaviors` to indicate behaviors as shown in
595
+ this PR - do not mod the tags directly unless they're explicitly meant to be
596
+ overrides.
597
+
598
+ Technically this is a significant breaking change (besides the removal of the
599
+ `addBehaviorToTags()` helper) because the order in which behaviors are applied
600
+ has changed, and so a different behavior might ultimately "win". This shows up
601
+ in places where there is ambiguity, for example if you add `@filterable` to a
602
+ function that you don't have execute permissions on, that function will now
603
+ show up in the schema since user overrides (smart tags) "win" versus inferred
604
+ behaviors such as introspected permissions; this wasn't the case before.
605
+ Hopefully most users will not notice any difference, and for those who do, the
606
+ `graphile behavior debug` CLI may be able to help you figure out what's going
607
+ on.
608
+
609
+ Be sure to print your schema before and after this update and look for
610
+ changes; if there are changes then you likely need to fix the relevant
611
+ behaviors/smart tags. (Hopefully there's no changes for you!)
612
+
613
+ You'll also need to change any places where you're specifying behaviors that
614
+ will be type checked; you can either cast your existing strings e.g.
615
+ `defaultBehavior: "+connection -list" as GraphileBuild.BehaviorString`, or
616
+ preferably you can specify your behaviors as an array, which should give you
617
+ auto-complete on each entry; e.g. `defaultBehavior: ["connection", "-list"]`.
618
+
619
+ - [#2188](https://github.com/graphile/crystal/pull/2188)
620
+ [`cc0941731`](https://github.com/graphile/crystal/commit/cc0941731a1679bc04ce7b7fd4254009bb5f1f62)
621
+ Thanks [@benjie](https://github.com/benjie)! - Overhaul the way in which
622
+ `graphile-config` presets work such that including a preset at two different
623
+ layers shouldn't result in unexpected behavior.
624
+
625
+ - [#2157](https://github.com/graphile/crystal/pull/2157)
626
+ [`50f6ce456`](https://github.com/graphile/crystal/commit/50f6ce456de3edd084869b54ee9f2eaf51a7fa0c)
627
+ Thanks [@benjie](https://github.com/benjie)! - 🚨 PostGraphile now ignores
628
+ unlogged database tables by default.
629
+
630
+ - [#2199](https://github.com/graphile/crystal/pull/2199)
631
+ [`3b09b414f`](https://github.com/graphile/crystal/commit/3b09b414ff43c34593373fa1f242481b0c7ada70)
632
+ Thanks [@benjie](https://github.com/benjie)! - Database enum comments are now
633
+ reflected in the schema.
634
+
635
+ - [#2196](https://github.com/graphile/crystal/pull/2196)
636
+ [`b7b6dd64f`](https://github.com/graphile/crystal/commit/b7b6dd64fcc07f2ca15528fd39d61297d743dcc6)
637
+ Thanks [@benjie](https://github.com/benjie)! - 🚨 `@notNull` on a volatile
638
+ function now results in the field on the payload becoming non-null, not the
639
+ mutation field itself.
640
+
641
+ - [#2155](https://github.com/graphile/crystal/pull/2155)
642
+ [`8b472cd51`](https://github.com/graphile/crystal/commit/8b472cd51cd66d8227f9f2722d09c0a774792b0f)
643
+ Thanks [@benjie](https://github.com/benjie)! - `disablePlugins` now supports
644
+ TypeScript auto-completion of known plugin names. Other names are still
645
+ accepted without error, so this is just a minor DX improvement rather than
646
+ type safety.
647
+
648
+ - [#2198](https://github.com/graphile/crystal/pull/2198)
649
+ [`ba637b56d`](https://github.com/graphile/crystal/commit/ba637b56d79a14f82fe555739921724eab0c07f7)
650
+ Thanks [@benjie](https://github.com/benjie)! - Ensure that interface subtypes
651
+ are added to schema even if not referenced directly.
652
+ - Updated dependencies
653
+ [[`d5834def1`](https://github.com/graphile/crystal/commit/d5834def1fb84f3e2c0c0a6f146f8249a6df890a),
654
+ [`653929af0`](https://github.com/graphile/crystal/commit/653929af0a99a8a4d52b66e66c736be668b8700a),
655
+ [`6fdc6cad8`](https://github.com/graphile/crystal/commit/6fdc6cad8f8d1230202df533d05cc2bd80538f09),
656
+ [`42b982463`](https://github.com/graphile/crystal/commit/42b9824637a6c05e02935f2b05b5e8e0c61965a6),
657
+ [`eb69c7361`](https://github.com/graphile/crystal/commit/eb69c7361fc7bf8c5b1ce342eeb698bd28c9e013),
658
+ [`54054b873`](https://github.com/graphile/crystal/commit/54054b8733236ba7b2f2fa47d84e085f7196e3f9),
659
+ [`884a4b429`](https://github.com/graphile/crystal/commit/884a4b4297af90fdadaf73addd524f1fbbcfdcce),
660
+ [`1eac03ec2`](https://github.com/graphile/crystal/commit/1eac03ec2e9da65c64b7754c04292f43da82c40b),
661
+ [`38835313a`](https://github.com/graphile/crystal/commit/38835313ad93445206dccdd4cf07b90c5a6e4377),
662
+ [`426e9320e`](https://github.com/graphile/crystal/commit/426e9320e76ef95927eebb6fe4072050b6208771),
663
+ [`2efadc0f8`](https://github.com/graphile/crystal/commit/2efadc0f80c3a0c172fb94c770afecc5447e832b),
664
+ [`e8a9fd424`](https://github.com/graphile/crystal/commit/e8a9fd4243981b892364148eca1df66620ddeb87),
665
+ [`cc0941731`](https://github.com/graphile/crystal/commit/cc0941731a1679bc04ce7b7fd4254009bb5f1f62),
666
+ [`50f6ce456`](https://github.com/graphile/crystal/commit/50f6ce456de3edd084869b54ee9f2eaf51a7fa0c),
667
+ [`b0865d169`](https://github.com/graphile/crystal/commit/b0865d1691105b5419009954c98c8109a27a5d81),
668
+ [`3b09b414f`](https://github.com/graphile/crystal/commit/3b09b414ff43c34593373fa1f242481b0c7ada70),
669
+ [`8b472cd51`](https://github.com/graphile/crystal/commit/8b472cd51cd66d8227f9f2722d09c0a774792b0f),
670
+ [`ba637b56d`](https://github.com/graphile/crystal/commit/ba637b56d79a14f82fe555739921724eab0c07f7),
671
+ [`9cd9bb522`](https://github.com/graphile/crystal/commit/9cd9bb5222a9f0398ee4b8bfa4f741b6de2a2192)]:
672
+ - grafast@0.1.1-beta.15
673
+ - graphile-build@5.0.0-beta.25
674
+ - @dataplan/pg@0.0.1-beta.26
675
+ - pg-introspection@0.0.1-beta.9
676
+ - graphile-config@0.0.1-beta.10
677
+
678
+ ## 5.0.0-beta.28
679
+
680
+ ### Patch Changes
681
+
682
+ - [#2149](https://github.com/graphile/crystal/pull/2149)
683
+ [`52ef49ca9`](https://github.com/graphile/crystal/commit/52ef49ca9357e63d0aa5c06ac089bf57ee991c73)
684
+ Thanks [@benjie](https://github.com/benjie)! - Fixed a bug in 'relational'
685
+ polymorphism where relations to each of the concrete types would
686
+ non-sensically be added to each of the concrete types.
687
+
688
+ - [#2149](https://github.com/graphile/crystal/pull/2149)
689
+ [`d9d07b97b`](https://github.com/graphile/crystal/commit/d9d07b97b41c928033b9a920931ae0ccccf88e82)
690
+ Thanks [@benjie](https://github.com/benjie)! - 🚨 `pgCodecRef` behaviors are
691
+ now presented a `[codec, refName]` tuple rather than the ref object directly.
692
+ You can get the old `ref` object via `codec.refs?.[refName]`
693
+ - Updated dependencies
694
+ [[`82ce02cd9`](https://github.com/graphile/crystal/commit/82ce02cd93df3df3c9570c3528483c4f720ff9bb),
695
+ [`871d32b2a`](https://github.com/graphile/crystal/commit/871d32b2a18df0d257880fc54a61d9e68c4607d6),
696
+ [`e8a0c4441`](https://github.com/graphile/crystal/commit/e8a0c4441cd04402974cd0af6b80816c9cda91e7),
697
+ [`a26e3a30c`](https://github.com/graphile/crystal/commit/a26e3a30c02f963f8f5e9c9d021e871f33689e1b),
698
+ [`eca7e62e2`](https://github.com/graphile/crystal/commit/eca7e62e2a09af77f4f166a281dab81d009d9ec1),
699
+ [`02c11a4d4`](https://github.com/graphile/crystal/commit/02c11a4d42bf434dffc9354b300e8d791c4eeb2d)]:
700
+ - @dataplan/pg@0.0.1-beta.25
701
+ - grafast@0.1.1-beta.14
702
+ - graphile-build@5.0.0-beta.24
703
+
704
+ ## 5.0.0-beta.27
705
+
706
+ ### Patch Changes
707
+
708
+ - Updated dependencies
709
+ [[`807650035`](https://github.com/graphile/crystal/commit/8076500354a3e2bc2de1b6c4e947bd710cc5bddc)]:
710
+ - @dataplan/pg@0.0.1-beta.24
711
+ - grafast@0.1.1-beta.13
712
+ - graphile-build@5.0.0-beta.23
713
+
714
+ ## 5.0.0-beta.26
715
+
716
+ ### Patch Changes
717
+
718
+ - [#2129](https://github.com/graphile/crystal/pull/2129)
719
+ [`1f67999eb`](https://github.com/graphile/crystal/commit/1f67999eb11435562ca76e8e7349aaadc28390f6)
720
+ Thanks [@benjie](https://github.com/benjie)! - Fix bug in orderBy planning
721
+ that caused a new plan to be required for every request.
722
+
723
+ - [#1985](https://github.com/graphile/crystal/pull/1985)
724
+ [`d6102714e`](https://github.com/graphile/crystal/commit/d6102714e4fec35952784c988c1617c789eee0cd)
725
+ Thanks [@hannesj](https://github.com/hannesj)! - 🚨 PostgreSQL adaptor is no
726
+ longer loaded via string value; instead you must pass the adaptor instance
727
+ directly. If you have `adaptor: "@dataplan/pg/adaptors/pg"` then replace it
728
+ with `adaptor: await import("@dataplan/pg/adaptors/pg")`. (This shouldn't
729
+ cause you issues because you _should_ be using `makePgService` to construct
730
+ your `pgServices` rather than building raw objects.)
731
+
732
+ 🚨 If you've implemented a custom PgAdaptor, talk to Benjie about how to port
733
+ it. (Should be straightforward, but no point me figuring it out if no-one has
734
+ done it yet 🤷)
735
+
736
+ This change improves bundle-ability by reducing the number of dynamic imports.
737
+
738
+ Also: `PgAdaptorOptions` has been renamed to `PgAdaptorSettings`, so please do
739
+ a global find and replace for that.
740
+
741
+ - Updated dependencies
742
+ [[`1bd50b61e`](https://github.com/graphile/crystal/commit/1bd50b61ebb10b7d09b3612c2e2767c41cca3b78),
743
+ [`8bdc553b7`](https://github.com/graphile/crystal/commit/8bdc553b79aae21a27d22a4e1f1e57ee2e5d1d3f),
744
+ [`4e102b1a1`](https://github.com/graphile/crystal/commit/4e102b1a1cd232e6f6703df0706415f01831dab2),
745
+ [`1cabbd311`](https://github.com/graphile/crystal/commit/1cabbd311bdefd7ce78f8dacbf61a42237a6c73c),
746
+ [`7bb1573ba`](https://github.com/graphile/crystal/commit/7bb1573ba45a4d8b7fa9ad53cdd79686d2641383),
747
+ [`590b6fdf5`](https://github.com/graphile/crystal/commit/590b6fdf5d04a392c4cc9e8bdad83278377c547b),
748
+ [`18addb385`](https://github.com/graphile/crystal/commit/18addb3852525aa91019a36d58fa2fecd8b5b443),
749
+ [`d6102714e`](https://github.com/graphile/crystal/commit/d6102714e4fec35952784c988c1617c789eee0cd),
750
+ [`6ed615e55`](https://github.com/graphile/crystal/commit/6ed615e557b2ab1fb57f1e68c06730a8e3da7175),
751
+ [`b25cc539c`](https://github.com/graphile/crystal/commit/b25cc539c00aeda7a943c37509aaae4dc7812317),
752
+ [`867f33136`](https://github.com/graphile/crystal/commit/867f331365346fc46ed1e0d23c79719846e398f4),
753
+ [`925123497`](https://github.com/graphile/crystal/commit/925123497cf17b5e145ab80f62fa9de768a977ae),
754
+ [`cf535c210`](https://github.com/graphile/crystal/commit/cf535c21078da06c14dd12f30e9b4378da4ded03),
755
+ [`acf99b190`](https://github.com/graphile/crystal/commit/acf99b190954e3c5926e820daed68dfe8eb3ee1f),
756
+ [`4967a197f`](https://github.com/graphile/crystal/commit/4967a197fd2c71ee2a581fe29470ee9f30e74de5),
757
+ [`1908e1ba1`](https://github.com/graphile/crystal/commit/1908e1ba11883a34dac66f985fc20ab160e572b1),
758
+ [`084d80be6`](https://github.com/graphile/crystal/commit/084d80be6e17187c9a9932bcf079e3f460368782),
759
+ [`aa0474755`](https://github.com/graphile/crystal/commit/aa0474755142a758fc58c5c1a30b8c754bc84e7c)]:
760
+ - grafast@0.1.1-beta.12
761
+ - @dataplan/pg@0.0.1-beta.23
762
+ - graphile-build@5.0.0-beta.22
763
+
764
+ ## 5.0.0-beta.25
765
+
766
+ ### Patch Changes
767
+
768
+ - Updated dependencies
769
+ [[`582bd768f`](https://github.com/graphile/crystal/commit/582bd768fec403ce3284f293b85b9fd86e4d3f40)]:
770
+ - graphile-build@5.0.0-beta.21
771
+ - graphile-config@0.0.1-beta.9
772
+ - @dataplan/pg@0.0.1-beta.22
773
+ - grafast@0.1.1-beta.11
774
+
775
+ ## 5.0.0-beta.24
776
+
777
+ ### Patch Changes
778
+
779
+ - Updated dependencies
780
+ [[`3c161f7e1`](https://github.com/graphile/crystal/commit/3c161f7e13375105b1035a7d5d1c0f2b507ca5c7),
781
+ [`a674a9923`](https://github.com/graphile/crystal/commit/a674a9923bc908c9315afa40e0cb256ee0953d16),
782
+ [`b7cfeffd1`](https://github.com/graphile/crystal/commit/b7cfeffd1019d61c713a5054c4f5929960a2a6ab)]:
783
+ - grafast@0.1.1-beta.10
784
+ - @dataplan/pg@0.0.1-beta.21
785
+ - graphile-build@5.0.0-beta.20
786
+
787
+ ## 5.0.0-beta.23
788
+
789
+ ### Patch Changes
790
+
791
+ - [#2064](https://github.com/graphile/crystal/pull/2064)
792
+ [`437570f97`](https://github.com/graphile/crystal/commit/437570f97e8520afaf3d0d0b514d1f4c31546b76)
793
+ Thanks [@benjie](https://github.com/benjie)! - Fix a bug relating to Global
794
+ Object Identifiers (specifically in update mutations, but probably elsewhere
795
+ too) related to early exit.
796
+ - Updated dependencies
797
+ [[`437570f97`](https://github.com/graphile/crystal/commit/437570f97e8520afaf3d0d0b514d1f4c31546b76)]:
798
+ - grafast@0.1.1-beta.9
799
+ - @dataplan/pg@0.0.1-beta.20
800
+ - graphile-build@5.0.0-beta.19
801
+
802
+ ## 5.0.0-beta.22
803
+
804
+ ### Patch Changes
805
+
806
+ - [#2056](https://github.com/graphile/crystal/pull/2056)
807
+ [`1842af661`](https://github.com/graphile/crystal/commit/1842af661950d5f962b65f6362a45a3b9c8f15e8)
808
+ Thanks [@benjie](https://github.com/benjie)! - Improve exporting of resource
809
+ options (neater export code)
810
+
811
+ - Updated dependencies
812
+ [[`1842af661`](https://github.com/graphile/crystal/commit/1842af661950d5f962b65f6362a45a3b9c8f15e8),
813
+ [`bd5a908a4`](https://github.com/graphile/crystal/commit/bd5a908a4d04310f90dfb46ad87398ffa993af3b)]:
814
+ - graphile-build@5.0.0-beta.18
815
+ - grafast@0.1.1-beta.8
816
+ - @dataplan/pg@0.0.1-beta.19
817
+
818
+ ## 5.0.0-beta.21
819
+
820
+ ### Patch Changes
821
+
822
+ - [#2015](https://github.com/graphile/crystal/pull/2015)
823
+ [`5eca6d65a`](https://github.com/graphile/crystal/commit/5eca6d65a816bac3d0ceaa6cafa7df1a79c2be47)
824
+ Thanks [@benjie](https://github.com/benjie)! - Use `inhibitOnNull` when
825
+ decoding a spec ID to prevent it being consumed if invalid (e.g. don't allow
826
+ using a 'Post' node ID to fetch a 'Person' record).
827
+
828
+ - [#1994](https://github.com/graphile/crystal/pull/1994)
829
+ [`ab08cbf9c`](https://github.com/graphile/crystal/commit/ab08cbf9c504c3cc22495a99a965e7634c18a6a3)
830
+ Thanks [@benjie](https://github.com/benjie)! - Introduce
831
+ `interface SQLable {[$toSQL](): SQL}` to `pg-sql2` and use it to simplify SQL
832
+ fragments in various places.
833
+
834
+ - [#1978](https://github.com/graphile/crystal/pull/1978)
835
+ [`a287a57c2`](https://github.com/graphile/crystal/commit/a287a57c2765da0fb6a132ea0953f64453210ceb)
836
+ Thanks [@benjie](https://github.com/benjie)! - Breaking: `connection()` step
837
+ now accepts configuration object in place of 2nd argument onwards:
838
+
839
+ ```diff
840
+ -return connection($list, nodePlan, cursorPlan);
841
+ +return connection($list, { nodePlan, cursorPlan });
842
+ ```
843
+
844
+ Feature: `edgeDataPlan` can be specified as part of this configuration object,
845
+ allowing you to associate edge data with your connection edges:
846
+
847
+ ```ts
848
+ return connection($list, {
849
+ edgeDataPlan($item) {
850
+ return object({ item: $item, otherThing: $otherThing });
851
+ },
852
+ });
853
+
854
+ // ...
855
+
856
+ const plans = {
857
+ FooEdge: {
858
+ otherThing($edge) {
859
+ return $edge.data().get("otherThing");
860
+ },
861
+ },
862
+ };
863
+ ```
864
+
865
+ Feature: `ConnectionStep` and `EdgeStep` gain `get()` methods, so
866
+ `*Connection.edges`, `*Connection.nodes`, `*Connection.pageInfo`, `*Edge.node`
867
+ and `*Edge.cursor` no longer need plans to be defined.
868
+
869
+ - [#2051](https://github.com/graphile/crystal/pull/2051)
870
+ [`45e10950b`](https://github.com/graphile/crystal/commit/45e10950b533f97cdd986e5442e2e160a8e431a2)
871
+ Thanks [@benjie](https://github.com/benjie)! - Resource options now marked
872
+ EXPORTABLE _after_ hooks called, enabling more plugins to be exportable.
873
+
874
+ - [#2050](https://github.com/graphile/crystal/pull/2050)
875
+ [`272608c13`](https://github.com/graphile/crystal/commit/272608c135e4ef0f76b8b5a9f764494a3f3ad779)
876
+ Thanks [@benjie](https://github.com/benjie)! - Add missing EXPORTABLE (and
877
+ remove excessive EXPORTABLE) to fix schema exports.
878
+
879
+ - [#2006](https://github.com/graphile/crystal/pull/2006)
880
+ [`bee0a0a68`](https://github.com/graphile/crystal/commit/bee0a0a68d48816f84b1a7f5ec69bd6069211426)
881
+ Thanks [@benjie](https://github.com/benjie)! - Adopt improved inflection
882
+ typings.
883
+
884
+ - [#2019](https://github.com/graphile/crystal/pull/2019)
885
+ [`51a94417f`](https://github.com/graphile/crystal/commit/51a94417fb62b54d309be184f4be479bc267c2b7)
886
+ Thanks [@benjie](https://github.com/benjie)! - Now possible to filter by relay
887
+ node identifiers without weird results if you pass an incompatible node id
888
+ (e.g. a 'Post' ID where a 'User' ID was expected) - significantly improves the
889
+ Relay preset.
890
+ - Updated dependencies
891
+ [[`357d475f5`](https://github.com/graphile/crystal/commit/357d475f54fecc8c51892e0346d6872b34132430),
892
+ [`30bcd6c12`](https://github.com/graphile/crystal/commit/30bcd6c12e59f878617ea987c35a2f589ce05cb8),
893
+ [`3551725e7`](https://github.com/graphile/crystal/commit/3551725e71c3ed876554e19e5ab2c1dcb0fb1143),
894
+ [`80836471e`](https://github.com/graphile/crystal/commit/80836471e5cedb29dee63bc5002550c4f1713cfd),
895
+ [`b788dd868`](https://github.com/graphile/crystal/commit/b788dd86849e703cc3aa863fd9190c36a087b865),
896
+ [`a5c20fefb`](https://github.com/graphile/crystal/commit/a5c20fefb571dea6d1187515dc48dd547e9e6204),
897
+ [`1ce08980e`](https://github.com/graphile/crystal/commit/1ce08980e2a52ed9bc81564d248c19648ecd3616),
898
+ [`ab08cbf9c`](https://github.com/graphile/crystal/commit/ab08cbf9c504c3cc22495a99a965e7634c18a6a3),
899
+ [`dff4f2535`](https://github.com/graphile/crystal/commit/dff4f2535ac6ce893089b312fcd5fffcd98573a5),
900
+ [`a287a57c2`](https://github.com/graphile/crystal/commit/a287a57c2765da0fb6a132ea0953f64453210ceb),
901
+ [`2fe56f9a6`](https://github.com/graphile/crystal/commit/2fe56f9a6dac03484ace45c29c2223a65f9ca1db),
902
+ [`fed603d71`](https://github.com/graphile/crystal/commit/fed603d719c02f33e12190f925c9e3b06c581fac),
903
+ [`ed6e0d278`](https://github.com/graphile/crystal/commit/ed6e0d2788217a1c419634837f4208013eaf2923),
904
+ [`86168b740`](https://github.com/graphile/crystal/commit/86168b740510aef17bde7ae21f1d0eebb0c5c9b3),
905
+ [`7ad35fe4d`](https://github.com/graphile/crystal/commit/7ad35fe4d9b20f6ec82dc95c362390a87e25b42c),
906
+ [`e82e4911e`](https://github.com/graphile/crystal/commit/e82e4911e32138df1b90ec0fde555ea963018d21),
907
+ [`94a05064e`](https://github.com/graphile/crystal/commit/94a05064ea05108685ff71174a9f871ab5b4c147),
908
+ [`272608c13`](https://github.com/graphile/crystal/commit/272608c135e4ef0f76b8b5a9f764494a3f3ad779),
909
+ [`7606a5b87`](https://github.com/graphile/crystal/commit/7606a5b87aed747fad4eb11744ef7b01cfa3b879),
910
+ [`42ece5aa6`](https://github.com/graphile/crystal/commit/42ece5aa6ca05345ebc17fb5c7d55df3b79b7612),
911
+ [`e0d69e518`](https://github.com/graphile/crystal/commit/e0d69e518a98c70f9b90f59d243ce33978c1b5a1),
912
+ [`db8ceed0f`](https://github.com/graphile/crystal/commit/db8ceed0f17923eb78ff09c9f3f28800a5c7e3b6),
913
+ [`6699388ec`](https://github.com/graphile/crystal/commit/6699388ec167d35c71220ce5d9113cac578da6cb),
914
+ [`966203504`](https://github.com/graphile/crystal/commit/96620350467ab8c65b56adf2f055e19450f8e772),
915
+ [`c1645b249`](https://github.com/graphile/crystal/commit/c1645b249aae949a548cd916e536ccfb63e5ab35),
916
+ [`ed8bbaa3c`](https://github.com/graphile/crystal/commit/ed8bbaa3cd1563a7601ca8c6b0412633b0ea4ce9),
917
+ [`a0e82b9c5`](https://github.com/graphile/crystal/commit/a0e82b9c5f4e585f1af1e147299cd07944ece6f8),
918
+ [`14e2412ee`](https://github.com/graphile/crystal/commit/14e2412ee368e8d53abf6774c7f0069f32d4e8a3),
919
+ [`c48d3da7f`](https://github.com/graphile/crystal/commit/c48d3da7fe4fac2562fab5f085d252a0bfb6f0b6),
920
+ [`57ab0e1e7`](https://github.com/graphile/crystal/commit/57ab0e1e72c01213b21d3efc539cd655d83d993a),
921
+ [`8442242e4`](https://github.com/graphile/crystal/commit/8442242e43cac7d89ca0c413cf42c9fabf6f247f),
922
+ [`bee0a0a68`](https://github.com/graphile/crystal/commit/bee0a0a68d48816f84b1a7f5ec69bd6069211426),
923
+ [`51a94417f`](https://github.com/graphile/crystal/commit/51a94417fb62b54d309be184f4be479bc267c2b7),
924
+ [`64ce7b765`](https://github.com/graphile/crystal/commit/64ce7b7650530251aec38a51089da66f914c19b4),
925
+ [`cba842357`](https://github.com/graphile/crystal/commit/cba84235786acbd77ade53bae7a3fba4a9be1eb7),
926
+ [`2fa77d0f2`](https://github.com/graphile/crystal/commit/2fa77d0f237cdb98d3dafb6b5e4083a2c6c38673),
927
+ [`81d17460c`](https://github.com/graphile/crystal/commit/81d17460ced08608814635779c5cf997c19c101d)]:
928
+ - @dataplan/pg@0.0.1-beta.18
929
+ - grafast@0.1.1-beta.7
930
+ - tamedevil@0.0.0-beta.7
931
+ - pg-sql2@5.0.0-beta.6
932
+ - graphile-build@5.0.0-beta.17
933
+ - pg-introspection@0.0.1-beta.8
934
+ - graphile-config@0.0.1-beta.8
935
+
936
+ ## 5.0.0-beta.20
937
+
938
+ ### Patch Changes
939
+
940
+ - [#1955](https://github.com/graphile/crystal/pull/1955)
941
+ [`6c6be29f1`](https://github.com/graphile/crystal/commit/6c6be29f12b24782c926b2bc62ed2ede09ac05de)
942
+ Thanks [@benjie](https://github.com/benjie)! - Steps are now prevented from
943
+ calling other steps' lifecycle methods. GRAPHILE_ENV is actively encouraged,
944
+ and falls back to NODE_ENV.
945
+
946
+ - [#1949](https://github.com/graphile/crystal/pull/1949)
947
+ [`179d25b09`](https://github.com/graphile/crystal/commit/179d25b09bb3272eeef564067b8e512d8de0112f)
948
+ Thanks [@benjie](https://github.com/benjie)! - Add support for registering
949
+ PgCodecs via plugins, add support for ltree type, improve error messages, no
950
+ longer need to set a gather namespace to use cache/state.
951
+
952
+ - [#1958](https://github.com/graphile/crystal/pull/1958)
953
+ [`8315e8d01`](https://github.com/graphile/crystal/commit/8315e8d01c118cebc4ebbc53a2f264b958b252ad)
954
+ Thanks [@benjie](https://github.com/benjie)! - EXPORTABLE now accepts a third
955
+ argument, `nameHint`, which is used to hint what variable name to use for the
956
+ given value. Used this in `graphile-export` along with some fixes and
957
+ optimizations to improve the exports further.
958
+ - Updated dependencies
959
+ [[`9f85c614d`](https://github.com/graphile/crystal/commit/9f85c614d48dc745c5fed15333dbb75af7fddc88),
960
+ [`6c6be29f1`](https://github.com/graphile/crystal/commit/6c6be29f12b24782c926b2bc62ed2ede09ac05de),
961
+ [`6c80c44b7`](https://github.com/graphile/crystal/commit/6c80c44b76a5eb30cc2b1555ba81a4b6236f4300),
962
+ [`179d25b09`](https://github.com/graphile/crystal/commit/179d25b09bb3272eeef564067b8e512d8de0112f),
963
+ [`8315e8d01`](https://github.com/graphile/crystal/commit/8315e8d01c118cebc4ebbc53a2f264b958b252ad),
964
+ [`9d53dde72`](https://github.com/graphile/crystal/commit/9d53dde726b7304962e921b88a159649e49156e5),
965
+ [`46d8289b4`](https://github.com/graphile/crystal/commit/46d8289b44ab10aea1ff3d2915184650d6896b81)]:
966
+ - @dataplan/pg@0.0.1-beta.17
967
+ - grafast@0.1.1-beta.6
968
+ - graphile-build@5.0.0-beta.16
969
+ - tamedevil@0.0.0-beta.6
970
+ - pg-introspection@0.0.1-beta.7
971
+
972
+ ## 5.0.0-beta.19
973
+
974
+ ### Patch Changes
975
+
976
+ - [#1933](https://github.com/graphile/crystal/pull/1933)
977
+ [`3a2ea80ee`](https://github.com/graphile/crystal/commit/3a2ea80ee470b2aef91366727d7d60a0c65067f5)
978
+ Thanks [@mattiarossi](https://github.com/mattiarossi)! -
979
+ `eslint-plugin-graphile-export` now spots instances of `inputPlan`,
980
+ `applyPlan` and `assertStep` so they can be checked - thanks @mattiarossi!
981
+
982
+ - [#1935](https://github.com/graphile/crystal/pull/1935)
983
+ [`8ea67f891`](https://github.com/graphile/crystal/commit/8ea67f8910693edaf70daa9952e35d8396166f38)
984
+ Thanks [@benjie](https://github.com/benjie)! - Fix lots of things related to
985
+ exporting a schema with `graphile-export`.
986
+
987
+ - [#1935](https://github.com/graphile/crystal/pull/1935)
988
+ [`e20e66ed7`](https://github.com/graphile/crystal/commit/e20e66ed71b499ee5bbf05105f981809fd302212)
989
+ Thanks [@benjie](https://github.com/benjie)! - Make even more of the schema
990
+ exportable, including handling scalars with no parseLiteral definition.
991
+ - Updated dependencies
992
+ [[`49fd8afed`](https://github.com/graphile/crystal/commit/49fd8afed1afe573ea76a2a7a821dfa5d6288e2d),
993
+ [`00d32d887`](https://github.com/graphile/crystal/commit/00d32d887a6ae01374a4fda1babab7c8f14832c0),
994
+ [`63dd7ea99`](https://github.com/graphile/crystal/commit/63dd7ea992d30ad711dd85a73a127484a0e35479),
995
+ [`c62eee10b`](https://github.com/graphile/crystal/commit/c62eee10b445f9455bf2a0524ad2b828bdf4ffa6),
996
+ [`d801c9778`](https://github.com/graphile/crystal/commit/d801c9778a86d61e060896460af9fe62a733534a),
997
+ [`3a2ea80ee`](https://github.com/graphile/crystal/commit/3a2ea80ee470b2aef91366727d7d60a0c65067f5),
998
+ [`ef44c29b2`](https://github.com/graphile/crystal/commit/ef44c29b24a1ad5a042ae1536a4546dd64b17195),
999
+ [`8ea67f891`](https://github.com/graphile/crystal/commit/8ea67f8910693edaf70daa9952e35d8396166f38),
1000
+ [`5de3e86eb`](https://github.com/graphile/crystal/commit/5de3e86eba1ddfe5e07732d0325c63e5d72d4b5b),
1001
+ [`e20e66ed7`](https://github.com/graphile/crystal/commit/e20e66ed71b499ee5bbf05105f981809fd302212)]:
1002
+ - tamedevil@0.0.0-beta.5
1003
+ - pg-introspection@0.0.1-beta.6
1004
+ - grafast@0.1.1-beta.5
1005
+ - graphile-build@5.0.0-beta.15
1006
+ - @dataplan/pg@0.0.1-beta.16
1007
+ - pg-sql2@5.0.0-beta.5
1008
+ - graphile-config@0.0.1-beta.7
1009
+
1010
+ ## 5.0.0-beta.18
1011
+
1012
+ ### Patch Changes
1013
+
1014
+ - [#1904](https://github.com/graphile/crystal/pull/1904)
1015
+ [`5b2db0c75`](https://github.com/graphile/crystal/commit/5b2db0c7586182523015f8f79fa4d43f98679c1e)
1016
+ Thanks [@benjie](https://github.com/benjie)! - Add pgRefDetails to scope for
1017
+ some ref-generated fields, to enable plugins to hook them.
1018
+
1019
+ - [#1905](https://github.com/graphile/crystal/pull/1905)
1020
+ [`184773382`](https://github.com/graphile/crystal/commit/184773382f074a3b5339e4cfabec55173cd4f1e1)
1021
+ Thanks [@benjie](https://github.com/benjie)! - Enable specifying the
1022
+ polymorphic subtype a function returns via `@returnType MyType` smart tag.
1023
+ - Updated dependencies
1024
+ [[`555a2be03`](https://github.com/graphile/crystal/commit/555a2be037f49bd599abbaafe6e5d5ab190c96d6),
1025
+ [`1b6c2f636`](https://github.com/graphile/crystal/commit/1b6c2f6360a316a8dc550c60e28c61deea538f19),
1026
+ [`a2176ea32`](https://github.com/graphile/crystal/commit/a2176ea324db0801249661b30e9c9d314c6fb159),
1027
+ [`886833e2e`](https://github.com/graphile/crystal/commit/886833e2e319f23d905d7184ca88fca701b94044),
1028
+ [`f97d7976a`](https://github.com/graphile/crystal/commit/f97d7976a683a1e2cb0fed1ce0e30aeff8cc1886)]:
1029
+ - @dataplan/pg@0.0.1-beta.15
1030
+ - tamedevil@0.0.0-beta.4
1031
+ - grafast@0.1.1-beta.4
1032
+ - graphile-build@5.0.0-beta.14
1033
+
1034
+ ## 5.0.0-beta.17
1035
+
1036
+ ### Patch Changes
1037
+
1038
+ - Updated dependencies
1039
+ [[`0df5511ac`](https://github.com/graphile/crystal/commit/0df5511ac8b79ea34f8d12ebf8feeb421f8fe971),
1040
+ [`7851d89ab`](https://github.com/graphile/crystal/commit/7851d89ab4216b0252583f0068a69900fa2ddc88),
1041
+ [`470ee4000`](https://github.com/graphile/crystal/commit/470ee40008689de7cf6f206a9897abbe4891ff9b)]:
1042
+ - graphile-config@0.0.1-beta.6
1043
+ - pg-introspection@0.0.1-beta.5
1044
+ - @dataplan/pg@0.0.1-beta.14
1045
+ - grafast@0.1.1-beta.3
1046
+ - graphile-build@5.0.0-beta.13
1047
+
1048
+ ## 5.0.0-beta.16
1049
+
1050
+ ### Patch Changes
1051
+
1052
+ - [#1884](https://github.com/graphile/crystal/pull/1884)
1053
+ [`bce0636d4`](https://github.com/graphile/crystal/commit/bce0636d424476664672166193a181c83476423a)
1054
+ Thanks [@benjie](https://github.com/benjie)! - Fixes multiple pgServices codec
1055
+ name conflicts by prepending the service name if it's not 'main'.
1056
+
1057
+ - [#1817](https://github.com/graphile/crystal/pull/1817)
1058
+ [`f305c3278`](https://github.com/graphile/crystal/commit/f305c327848eb7baef46c5384a7cc5af6f79db8d)
1059
+ Thanks [@benjie](https://github.com/benjie)! - Add support for limiting
1060
+ polymorphic plans (only some of them, specifically `pgUnionAll()` right now)
1061
+ to limit the types of their results; exposed via an experimental 'only'
1062
+ argument on fields, for example
1063
+ `allApplications(only: [GcpApplication, AwsApplication])` would limit the type
1064
+ of applications returned to only be the two specified.
1065
+
1066
+ - [#1875](https://github.com/graphile/crystal/pull/1875)
1067
+ [`3b558e0c1`](https://github.com/graphile/crystal/commit/3b558e0c110dd49e5d51e49a5ad6463a9ed68ecb)
1068
+ Thanks [@enisdenjo](https://github.com/enisdenjo)! - Consider attribute's
1069
+ `isNotNull` flag for polymorphic types
1070
+
1071
+ - [#1884](https://github.com/graphile/crystal/pull/1884)
1072
+ [`2ae8d33aa`](https://github.com/graphile/crystal/commit/2ae8d33aa83955649dcd6e7489604b059ed2daf4)
1073
+ Thanks [@benjie](https://github.com/benjie)! - Fixes missing await which might
1074
+ cause process to exit when something goes wrong during schema building.
1075
+
1076
+ - [#1885](https://github.com/graphile/crystal/pull/1885)
1077
+ [`9e1df08b7`](https://github.com/graphile/crystal/commit/9e1df08b702ae32870a8f1324bab37f447cba868)
1078
+ Thanks [@benjie](https://github.com/benjie)! - Fix `orderBy:null` regression
1079
+
1080
+ - [#1877](https://github.com/graphile/crystal/pull/1877)
1081
+ [`8a0cdb95f`](https://github.com/graphile/crystal/commit/8a0cdb95f200b28b0ea1ab5caa12b23dce5f374f)
1082
+ Thanks [@benjie](https://github.com/benjie)! - Move 'declare global' out of
1083
+ 'interfaces.ts' and into 'index.ts' or equivalent. Should make TypeScript more
1084
+ aware of these types.
1085
+
1086
+ - [#1879](https://github.com/graphile/crystal/pull/1879)
1087
+ [`dbd91fdd8`](https://github.com/graphile/crystal/commit/dbd91fdd836f041b6e2ff9d358c6a6f521f43914)
1088
+ Thanks [@benjie](https://github.com/benjie)! - Move PgContextPlugin from
1089
+ graphile-build-pg into @dataplan/pg so it can be used after schema export
1090
+ without needing dependency on graphile-build-pg
1091
+
1092
+ - [#1841](https://github.com/graphile/crystal/pull/1841)
1093
+ [`f1d5ad18e`](https://github.com/graphile/crystal/commit/f1d5ad18e1cd0d59b9e74f619ec6b0de57f07b17)
1094
+ Thanks [@benjie](https://github.com/benjie)! - Make smart tags parser more
1095
+ forgiving (track parenthesis)
1096
+
1097
+ - [#1884](https://github.com/graphile/crystal/pull/1884)
1098
+ [`c66c3527c`](https://github.com/graphile/crystal/commit/c66c3527ce2bb38afa37242ecb5a22247efd6db9)
1099
+ Thanks [@benjie](https://github.com/benjie)! - List codecs can now have names.
1100
+
1101
+ - [#1876](https://github.com/graphile/crystal/pull/1876)
1102
+ [`9fb5cc06e`](https://github.com/graphile/crystal/commit/9fb5cc06ee52165378392969172e6ee8128833f6)
1103
+ Thanks [@enisdenjo](https://github.com/enisdenjo)! - Specify `from` in `@ref`
1104
+ to apply refs to a single type
1105
+
1106
+ - Updated dependencies
1107
+ [[`3fdc2bce4`](https://github.com/graphile/crystal/commit/3fdc2bce42418773f808c5b8309dfb361cd95ce9),
1108
+ [`aeef362b5`](https://github.com/graphile/crystal/commit/aeef362b5744816f01e4a6f714bbd77f92332bc5),
1109
+ [`8a76db07f`](https://github.com/graphile/crystal/commit/8a76db07f4c110cecc6225504f9a05ccbcbc7b92),
1110
+ [`f305c3278`](https://github.com/graphile/crystal/commit/f305c327848eb7baef46c5384a7cc5af6f79db8d),
1111
+ [`8a0cdb95f`](https://github.com/graphile/crystal/commit/8a0cdb95f200b28b0ea1ab5caa12b23dce5f374f),
1112
+ [`dbd91fdd8`](https://github.com/graphile/crystal/commit/dbd91fdd836f041b6e2ff9d358c6a6f521f43914),
1113
+ [`c66c3527c`](https://github.com/graphile/crystal/commit/c66c3527ce2bb38afa37242ecb5a22247efd6db9),
1114
+ [`f66cc40b3`](https://github.com/graphile/crystal/commit/f66cc40b3bc5bf2e7f92fe5a6bd5638e2a51ac2b),
1115
+ [`f18635a5c`](https://github.com/graphile/crystal/commit/f18635a5cf55845c9534d82bb483e5fbb9ed179e),
1116
+ [`1c9f1c0ed`](https://github.com/graphile/crystal/commit/1c9f1c0edf4e621a5b6345d3a41527a18143c6ae)]:
1117
+ - grafast@0.1.1-beta.2
1118
+ - @dataplan/pg@0.0.1-beta.13
1119
+ - graphile-build@5.0.0-beta.12
1120
+ - graphile-config@0.0.1-beta.5
1121
+
1122
+ ## 5.0.0-beta.15
1123
+
1124
+ ### Patch Changes
1125
+
1126
+ - [#1834](https://github.com/graphile/crystal/pull/1834)
1127
+ [`2e7fc6449`](https://github.com/graphile/crystal/commit/2e7fc6449c2d08c44c32985811bb2e233a04056b)
1128
+ Thanks [@benjie](https://github.com/benjie)! - Fix issue with watch mode where
1129
+ schema omits database resources in some situations.
1130
+ - Updated dependencies
1131
+ [[`49fcb0d58`](https://github.com/graphile/crystal/commit/49fcb0d585b31b291c9072c339d6f5b550eefc9f),
1132
+ [`7aef73319`](https://github.com/graphile/crystal/commit/7aef73319a8a147c700727be62427e1eefdefbf8)]:
1133
+ - grafast@0.1.1-beta.1
1134
+ - graphile-config@0.0.1-beta.4
1135
+ - @dataplan/pg@0.0.1-beta.12
1136
+ - graphile-build@5.0.0-beta.11
1137
+
1138
+ ## 5.0.0-beta.14
1139
+
1140
+ ### Patch Changes
1141
+
1142
+ - [#1801](https://github.com/graphile/crystal/pull/1801)
1143
+ [`2d447a6b4`](https://github.com/graphile/crystal/commit/2d447a6b45d7db2813bd957f412cd959e2185759)
1144
+ Thanks [@benjie](https://github.com/benjie)! - Fix bug where the owner of a
1145
+ database object wasn't seen as having any privileges.
1146
+ - Updated dependencies
1147
+ [[`2d447a6b4`](https://github.com/graphile/crystal/commit/2d447a6b45d7db2813bd957f412cd959e2185759)]:
1148
+ - pg-introspection@0.0.1-beta.4
1149
+ - @dataplan/pg@0.0.1-beta.11
1150
+
1151
+ ## 5.0.0-beta.13
1152
+
1153
+ ### Patch Changes
1154
+
1155
+ - [#1797](https://github.com/graphile/crystal/pull/1797)
1156
+ [`26e0bc726`](https://github.com/graphile/crystal/commit/26e0bc72653cd8dcef4b6cfb3c76876a5e620a12)
1157
+ Thanks [@benjie](https://github.com/benjie)! - Fix that smart tags were not
1158
+ copied onto enum codecs.
1159
+
1160
+ - Updated dependencies
1161
+ [[`26e0bc726`](https://github.com/graphile/crystal/commit/26e0bc72653cd8dcef4b6cfb3c76876a5e620a12)]:
1162
+ - @dataplan/pg@0.0.1-beta.11
1163
+
1164
+ ## 5.0.0-beta.12
1165
+
1166
+ ### Patch Changes
1167
+
1168
+ - Updated dependencies
1169
+ [[`2805edc68`](https://github.com/graphile/crystal/commit/2805edc68b90546bf71ffd293af4d87a79345825)]:
1170
+ - pg-sql2@5.0.0-beta.4
1171
+ - @dataplan/pg@0.0.1-beta.10
1172
+ - grafast@0.1.1-beta.0
1173
+
1174
+ ## 5.0.0-beta.11
1175
+
1176
+ ### Patch Changes
1177
+
1178
+ - [#1770](https://github.com/graphile/crystal/pull/1770)
1179
+ [`9a84bc6dd`](https://github.com/graphile/crystal/commit/9a84bc6dd5b33c1919f75f867df1f61c78686695)
1180
+ Thanks [@benjie](https://github.com/benjie)! - Fix issues around enum tables:
1181
+ indicate when an enum table codec replaces a regular attribute codec, expose
1182
+ helpers for working with enum tables, and don't exclude enum table references
1183
+ when using the Relay preset.
1184
+
1185
+ - [#1769](https://github.com/graphile/crystal/pull/1769)
1186
+ [`b728d7fb9`](https://github.com/graphile/crystal/commit/b728d7fb91eb29fbb21d955af5fd9cb4278f6222)
1187
+ Thanks [@benjie](https://github.com/benjie)! - Fix error message when ref is
1188
+ used with no foreign key.
1189
+
1190
+ - [#1774](https://github.com/graphile/crystal/pull/1774)
1191
+ [`7d55d2c34`](https://github.com/graphile/crystal/commit/7d55d2c343880d7e665f9743f6ae7e39343c22cc)
1192
+ Thanks [@benjie](https://github.com/benjie)! - Add
1193
+ `preset.gather.pgIdentifiers` setting (values: 'qualified' or 'unqualified');
1194
+ if set to 'unqualified' then we will not add the schema name to table or
1195
+ function identifiers - it's up to you to ensure they're present in the
1196
+ `search_path` (which you can set via `pgSettings` on a per-request basis).
1197
+ - Updated dependencies
1198
+ [[`4a4d26d87`](https://github.com/graphile/crystal/commit/4a4d26d87ce74589429b8ca5126a7bfdf30351b8),
1199
+ [`b2bce88da`](https://github.com/graphile/crystal/commit/b2bce88da26c7a8965468be16fc2d935eadd3434),
1200
+ [`861a8a306`](https://github.com/graphile/crystal/commit/861a8a306ef42a821da19e77903ddd7e8130bfb3),
1201
+ [`9a84bc6dd`](https://github.com/graphile/crystal/commit/9a84bc6dd5b33c1919f75f867df1f61c78686695),
1202
+ [`b728d7fb9`](https://github.com/graphile/crystal/commit/b728d7fb91eb29fbb21d955af5fd9cb4278f6222)]:
1203
+ - grafast@0.1.1-beta.0
1204
+ - @dataplan/pg@0.0.1-beta.9
1205
+ - graphile-build@5.0.0-beta.10
1206
+
1207
+ ## 5.0.0-beta.10
1208
+
1209
+ ### Patch Changes
1210
+
1211
+ - [#514](https://github.com/graphile/crystal-pre-merge/pull/514)
1212
+ [`c9848f693`](https://github.com/graphile/crystal-pre-merge/commit/c9848f6936a5abd7740c0638bfb458fb5551f03b)
1213
+ Thanks [@benjie](https://github.com/benjie)! - Update package.json repository
1214
+ information
1215
+
1216
+ - Updated dependencies
1217
+ [[`c9848f693`](https://github.com/graphile/crystal-pre-merge/commit/c9848f6936a5abd7740c0638bfb458fb5551f03b),
1218
+ [`ede1092fe`](https://github.com/graphile/crystal-pre-merge/commit/ede1092fe197719b6fa786f4cfa75f6a1f4c56c1),
1219
+ [`566983fbd`](https://github.com/graphile/crystal-pre-merge/commit/566983fbd99c4b2df8c4ebd6260521670a2b7dfc),
1220
+ [`409bf6071`](https://github.com/graphile/crystal-pre-merge/commit/409bf607180d4d8faec658c803e5ec4d1a00c451)]:
1221
+ - graphile-build@5.0.0-beta.9
1222
+ - pg-introspection@0.0.1-beta.3
1223
+ - graphile-config@0.0.1-beta.3
1224
+ - @dataplan/pg@0.0.1-beta.8
1225
+ - grafast@0.0.1-beta.8
1226
+ - tamedevil@0.0.0-beta.3
1227
+ - pg-sql2@5.0.0-beta.3
1228
+
1229
+ ## 5.0.0-beta.9
1230
+
1231
+ ### Patch Changes
1232
+
1233
+ - Updated dependencies
1234
+ [[`3700e204f`](https://github.com/benjie/crystal/commit/3700e204f430db182c92ca7abc82017c81fa1f9b)]:
1235
+ - grafast@0.0.1-beta.7
1236
+ - @dataplan/pg@0.0.1-beta.7
1237
+ - graphile-build@5.0.0-beta.8
1238
+
1239
+ ## 5.0.0-beta.8
1240
+
1241
+ ### Patch Changes
1242
+
1243
+ - [#496](https://github.com/benjie/crystal/pull/496)
1244
+ [`c9bfd9892`](https://github.com/benjie/crystal/commit/c9bfd989247f9433fb5b18c5175c9d8d64cd21a1)
1245
+ Thanks [@benjie](https://github.com/benjie)! - Update dependencies (sometimes
1246
+ through major versions).
1247
+
1248
+ - Updated dependencies
1249
+ [[`c9bfd9892`](https://github.com/benjie/crystal/commit/c9bfd989247f9433fb5b18c5175c9d8d64cd21a1),
1250
+ [`e613b476d`](https://github.com/benjie/crystal/commit/e613b476d6ee867d1f7509c895dabee40e7f9a31)]:
1251
+ - graphile-build@5.0.0-beta.7
1252
+ - pg-introspection@0.0.1-beta.2
1253
+ - graphile-config@0.0.1-beta.2
1254
+ - @dataplan/pg@0.0.1-beta.6
1255
+ - grafast@0.0.1-beta.6
1256
+ - tamedevil@0.0.0-beta.2
1257
+ - pg-sql2@5.0.0-beta.2
1258
+
1259
+ ## 5.0.0-beta.7
1260
+
1261
+ ### Patch Changes
1262
+
1263
+ - [#488](https://github.com/benjie/crystal/pull/488)
1264
+ [`e916b7412`](https://github.com/benjie/crystal/commit/e916b7412fc1fbbcb1578dbe07684189c2a720ad)
1265
+ Thanks [@benjie](https://github.com/benjie)! - Fix issues with polymorphism
1266
+ when interacting with nodeIds, particularly in mutations and SQL functions.
1267
+
1268
+ - [#488](https://github.com/benjie/crystal/pull/488)
1269
+ [`109c8ec67`](https://github.com/benjie/crystal/commit/109c8ec6784dc74f4c4c4c43cc61516cc12401c8)
1270
+ Thanks [@benjie](https://github.com/benjie)! - Add new pgTableResource helper
1271
+ and refactor a lot of code to use it, reducing code in many cases
1272
+ - Updated dependencies
1273
+ [[`95e902f54`](https://github.com/benjie/crystal/commit/95e902f5403c16895e874692f7650293d77590dd),
1274
+ [`53186213a`](https://github.com/benjie/crystal/commit/53186213ade962f4b66cb0d5ea8b57b5ce7ea85f),
1275
+ [`73f1b5218`](https://github.com/benjie/crystal/commit/73f1b52187b2e009d502afa1db8a4e8f702e2958)]:
1276
+ - @dataplan/pg@0.0.1-beta.5
1277
+ - grafast@0.0.1-beta.5
1278
+ - graphile-build@5.0.0-beta.6
1279
+
1280
+ ## 5.0.0-beta.6
1281
+
1282
+ ### Patch Changes
1283
+
1284
+ - [#459](https://github.com/benjie/crystal/pull/459)
1285
+ [`d17dd1cd4`](https://github.com/benjie/crystal/commit/d17dd1cd47d6cb125fbc84c38a8c004857e1bdd2)
1286
+ Thanks [@benjie](https://github.com/benjie)! - Disable mutations for
1287
+ `@interface mode:relational` tables. (They shouldn't have been enabled, and
1288
+ they don't work yet.)
1289
+
1290
+ - [#464](https://github.com/benjie/crystal/pull/464)
1291
+ [`00d026409`](https://github.com/benjie/crystal/commit/00d0264090f90914eac881b34918fa3370782adc)
1292
+ Thanks [@benjie](https://github.com/benjie)! - `@dataplan/pg/adaptors/pg` now
1293
+ adds `rawClient` property which is the underlying Postgres client for use with
1294
+ `pgTyped`, `zapatos`, and other libraries that can use a raw postgres client.
1295
+ This is exposed via `NodePostgresPgClient` interface which is a subtype of
1296
+ `PgClient`.
1297
+ - Updated dependencies
1298
+ [[`53f0488b1`](https://github.com/benjie/crystal/commit/53f0488b1c060fe9f5dfcd67ad5c0bd932a4b7aa),
1299
+ [`f9cc88dc4`](https://github.com/benjie/crystal/commit/f9cc88dc442d371aee154a28d4e63c6da39f6b2e),
1300
+ [`00d026409`](https://github.com/benjie/crystal/commit/00d0264090f90914eac881b34918fa3370782adc)]:
1301
+ - @dataplan/pg@0.0.1-beta.4
1302
+ - grafast@0.0.1-beta.4
1303
+ - graphile-build@5.0.0-beta.5
1304
+
1305
+ ## 5.0.0-beta.5
1306
+
1307
+ ### Patch Changes
1308
+
1309
+ - [#457](https://github.com/benjie/crystal/pull/457)
1310
+ [`22ecd1e5d`](https://github.com/benjie/crystal/commit/22ecd1e5de1dcd094be3085cba56b705446413f9)
1311
+ Thanks [@benjie](https://github.com/benjie)! - Hotfix: PgTableNodePlugin
1312
+ should only deal with table resources
1313
+
3
1314
  ## 5.0.0-beta.4
4
1315
 
5
1316
  ### Patch Changes