1 | # Changelog
|
2 |
|
3 | All notable consumer-facing changes are documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
4 | and from `v0.14.0`, this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
5 |
|
6 |
|
7 |
|
8 | ## [0.18.0] - 2019-10-09
|
9 |
|
10 | ### Changed
|
11 |
|
12 | * duplicate checks now include fragments [[#88](https://github.com/Shopify/graphql-tools-web/pull/88)]
|
13 |
|
14 | ## [0.17.0] - 2019-04-01
|
15 |
|
16 | * Added a `--config` option to allow a JSON-serialized config an an alternative to looking up a `.graphqlconfig` [[#70](https://github.com/Shopify/graphql-tools-web/pull/70), thanks to [alexkirsz](https://github.com/alexkirsz)]
|
17 |
|
18 | ## [0.16.0] - 2019-03-11
|
19 |
|
20 | ### Changed
|
21 |
|
22 | * Upgrading `graphql` to `^14.0.0` (`14.1.1`) [[#72](https://github.com/Shopify/graphql-tools-web/pull/72)]
|
23 |
|
24 | ## [0.15.1] - 2019-01-22
|
25 |
|
26 | ### Fixed
|
27 |
|
28 | * Using static utility functions from `graphql-tool-utilities` instead of `GraphQLProject` augmentations to prevent `TypeError: project.resolveSchemaPath is not a function` when a duplicate `graphql` packages exist in the node package dependency chain. [[#73](https://github.com/Shopify/graphql-tools-web/pull/73)]
|
29 |
|
30 | ## [0.15.0] - 2019-01-22
|
31 |
|
32 | ### Added
|
33 |
|
34 | * You can now pass a `--custom-scalars` flag (or the equivalent `customScalars` option in Node.js) to reference custom types that should be used for custom scalars in GraphQL [[#63](https://github.com/Shopify/graphql-tools-web/pull/63)]
|
35 |
|
36 | ### Changed
|
37 |
|
38 | * The library now generates an `Other` type for union/ intersection fields, even when the type is "fully covered" [[#64](https://github.com/Shopify/graphql-tools-web/pull/64)]. Before, if there were only a single type that implemented the union or interface, it was generated without being postfixed with the implementing type's name, and without an `Other` type. If all implementing types were queried in some way, it would include the types with postfixed names, but would not include an `Other` type.
|
39 |
|
40 | This can be a breaking change if you were querying fields where only a single type implemented a union or interface, as the types for these fields will have their names changed. For example, given the following schema:
|
41 |
|
42 | ```graphql
|
43 | type Ball = {
|
44 | color: String!
|
45 | }
|
46 |
|
47 | union Object = Ball
|
48 |
|
49 | type Query = {
|
50 | object: Object
|
51 | }
|
52 | ```
|
53 |
|
54 | And this query:
|
55 |
|
56 | ```graphql
|
57 | query BallQuery {
|
58 | object {
|
59 | ... on Ball {
|
60 | color
|
61 | }
|
62 | }
|
63 | }
|
64 | ```
|
65 |
|
66 | The library used to generate a type `BallQueryData.Object` with `{color: string}`, because `Ball` was the only implementing type. Now, the library will generate a `BallQueryData.ObjectBall` and a `BallQueryData.ObjectOther`, which represents future implementing types of `Object`. When a `__typename` field is added, either explicitly or with the `--add-typename` flag, the `Other` type has a `__typename: ''` definition, which allows you to disambiguate it from results that did query a member of the union or interface.
|
67 |
|
\ | No newline at end of file |