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

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