rescript-relay 0.0.0-rescript-10.1-alpha-fbc78b86 → 0.0.0-support-nullable-variables-2b89f6d3

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.
package/CHANGELOG.md CHANGED
@@ -1,15 +1,48 @@
1
1
  # master
2
2
 
3
- # 1.0.0-rc.4
3
+ # 1.0.4
4
+
5
+ ## Improvements
6
+
7
+ - Improved autocomplete for fragments etc (pulled from upstream Relay compiler). https://github.com/facebook/relay/pull/4134
8
+
9
+ # 1.0.3
10
+
11
+ ## Improvements
12
+
13
+ - Add `RescriptRelay.Disposable.ignore` for more ergonomic handling of ignoring disposables.
14
+
15
+ ## Bug Fixes
16
+
17
+ - Fix the `remove-unused-fields` script for CI with Node.js version >14 in [#409](https://github.com/zth/rescript-relay/pull/409)
18
+
19
+ # 1.0.2
20
+
21
+ ## Bug Fixes
22
+
23
+ - `private` is now correctly marked as a reserved word.
24
+
25
+ ## Improvements
26
+
27
+ - Add ReScript 10 compat in peerDependencies https://github.com/zth/rescript-relay/pull/397 @MoOx
28
+ - `makeConnectionId` helpers are now marked as `@live` to not trigger the dead code analysis.
29
+
30
+ # 1.0.1
31
+
32
+ ## Bug Fixes
33
+
34
+ - Fix issue with custom scalar of JSON values being accidentally mangled https://github.com/zth/rescript-relay/pull/395 @tsnobip
35
+
36
+ # 1.0.0
4
37
 
5
38
  _[Here's a commit showing a project being upgraded to this version](https://github.com/zth/rescript-relay/commit/5831c2f1f0f13eedc1cb60468c32fd32b2dc01d3)_
6
39
 
7
- The time has finally come - RescriptRelay `1.0.0` is in beta! The one, big major thing this release brings is that the ReScript type generation for the Relay compiler has been completely rewritten, and fully integrated into the new Relay Rust compiler. The RescriptRelay fork of the compiler is available and maintained [here])(https://github.com/zth/relay/tree/rescript-relay).
40
+ The time has finally come - RescriptRelay `1.0.0` is released! This version brings a ton of new features and improvements. One of the the big major things this release brings is that the ReScript type generation for the Relay compiler has been completely rewritten, and fully integrated into the new Relay Rust compiler. The RescriptRelay fork of the compiler is available and maintained [here])(https://github.com/zth/relay/tree/rescript-relay).
8
41
 
9
42
  ## Upgrade versions
10
43
 
11
- - `react-relay` and `relay-runtime` to `14.1.0`
12
- - `react` and `react-dom` to `18.0.0`
44
+ - `react-relay` and `relay-runtime` to `>=14.1.0`
45
+ - `react` and `react-dom` to `>=18.0.0`
13
46
 
14
47
  ## Remove Packages
15
48
 
@@ -29,6 +62,15 @@ You can go ahead and remove these packages, that are no longer needed, as the co
29
62
  - Bindings for `requiredFieldLogger` for logging when missing fields are encountered (kudos [Emilios1995](https://github.com/Emilios1995)).
30
63
  - Improved utils for [dealing with enums](https://rescript-relay-documentation.vercel.app/docs/enums).
31
64
  - `recordSourceRecords` is now typed as `Js.Json.t` rather than being abstract.
65
+ - Project now works in `"type": "module"` mode in `package.json` (kudos [cometkim](https://github.com/cometkim))
66
+ - The field name of the `id` field of the `Node` interface is now configurable via `schemaConfig: {nodeInterfaceIdField: "idNameHere"}`.
67
+ - Add support for experimental [Relay Resolvers](https://relay.dev/docs/next/guides/relay-resolvers). Undocumented so far, but looking at the [test](https://github.com/zth/rescript-relay/blob/master/packages/rescript-relay/__tests__/Test_relayResolvers.res) and [definition file](https://github.com/zth/rescript-relay/blob/master/packages/rescript-relay/__tests__/TestRelayUserResolver.res) should give you a hint of how it works.
68
+ - Support `@rescriptRelayIgnoreUnused` directive on fragment definitions to insert annotations that makes `reanalyze` consider all fields in the fragment used, even if they aren't.
69
+ - Support `@rescriptRelayAllowUnsafeEnum` directive on fields selecting enums, which will ignore safety measures for enums, meaning you won't need to add a catch all clause, etc. It'll essentially output the enum as an _input_ enum (as desribed in the docs).
70
+ - Support [provided variables](https://relay.dev/docs/api-reference/graphql-and-directives/#provided-variables). More info in the docs.
71
+ - Windows support! :tada:
72
+ - A `RelaySchemaAssets_graphql.res` is now emitted, containing type definitions for all enums and all input objects. This is designed to help with accessing and using enums and input objects outside of Relay's context. This means it'll be much easier to share makers for input objects, pass enums around, etc.
73
+ - Each fragment with a `@connection` now emits a `makeConnectionId` function that allows you to generate _type safe_ connection IDs. More on why this is useful in the documentation.
32
74
 
33
75
  ## Breaking changes
34
76
 
@@ -45,8 +87,25 @@ You can go ahead and remove these packages, that are no longer needed, as the co
45
87
 
46
88
  More details on this [in the docs](https://rescript-relay-documentation.vercel.app/docs/refetching-and-loading-more-data#makerefetchvariables). Thanks to [@tsnobip](https://github.com/tsnobip) for fixing this!
47
89
 
90
+ - All enum type definitions now reside in `RelaySchemaAssets_graphql.enum_<yourEnumName>`, and are _not_ generated on the operation itself anymore. So, if you previously referred to the actual enum _type_, like `Fragment.Types.enum_MyFineEnum`, you'll now need to refer to that enum type as `RelaySchemaAssets_graphql.enum_MyFineEnum`.
91
+ - Input object fields with illegal names in ReScript previously had their maker function argument names suffixed with `_`, like `~type_: string`. This is now instead _prefixed_, like `~_type: string`. Prefixing like this instead of suffixing means we can ship fully zero cost maker functions, which we couldn't before for input objects with illegal field names.
92
+
93
+ ## Assorted Changes and Fixes
94
+
95
+ - Add Environment isServer option @MoOx
96
+ - Remove rescript from dependencies @anmonteiro
97
+ - Add undocumented holdGC method on relay store @MoOx
98
+ - Fixed `setLinkedRecordToNull`, `setLinkedRecordToUndefined`, `setLinkedRecordsToNull` and `setLinkedRecordsToUndefined` methods by binding them to `setValue` instead of `setLinkedRecord/s`. Previously they were throwing an error because `setLinkedRecord/s` did not support "deleting" values using them. (@reck753)
99
+ - Fix long standing bug that would make whether connection helpers were emitted or not unreliable.
100
+
48
101
  ## 1.0.0 development changelog
49
102
 
103
+ - Fix bug in the new type safe connection ID makers where null default values wouldn't turn the variable into a `Js.Null.t<t>`, leading to type errors.
104
+ - Fix bug with connection handling where connections behind a `@include` or `@skip` directive would not be found.
105
+ - Move `getConnectionNodes` back into generated and auto included `Utils` module. This means that failing to generate `getConnectionNodes`, which can happen for various reasons, won't break the build, but rather not just emit the helper.
106
+
107
+ ### rc.5
108
+
50
109
  - Fix compat with `rescript@10.1.0-alpha.1`.
51
110
 
52
111
  ### rc.4
@@ -65,7 +124,6 @@ You can go ahead and remove these packages, that are no longer needed, as the co
65
124
  ### rc.1
66
125
 
67
126
  - Restore half-broken connection helper function inlining.
68
- -
69
127
 
70
128
  ### rc.0
71
129