|
8 | 8 |
|
9 | 9 | ### Bug fixes
|
10 | 10 |
|
11 |
| -## 1.10.0.pre4 (15 Jan 2020) |
| 11 | +## 1.10.0 (20 Jan 2020) |
12 | 12 |
|
13 |
| -### New features |
14 |
| - |
15 |
| -- Add tracing events for `.authorized?` and `.resolve_type` calls #2660 |
16 |
| - |
17 |
| -### Bug fixes |
18 |
| - |
19 |
| -- Properly coerce a single, non-null item into a single-item list when given as input to a list type #2667 #2668 |
20 |
| -- Fix warnings on Ruby 2.7 |
21 |
| - |
22 |
| -## 1.10.0.pre3 (17 Dec 2019) |
23 |
| - |
24 |
| -### Bug fixes |
25 |
| - |
26 |
| -- Fix Ruby keyword list to support Ruby 2.7 #2640 |
27 |
| -- Reduce memory of class-based schema #2636 |
28 |
| -- Improve runtime performance of interpreter #2630 |
29 |
| - |
30 |
| -## 1.10.0.pre2 (4 Dec 2019) |
31 |
| - |
32 |
| -### Breaking changes |
| 13 | +### Breaking Changes |
33 | 14 |
|
34 |
| -- Class-based schemas using the interpreter _must_ add `use GraphQL::Analysis::AST` to their schema (and update their custom analyzers, see https://graphql-ruby.org/queries/ast_analysis.html) #2363 |
35 | 15 | - Class-based schemas using the new interpreter will now use _definition classes_ at runtime. #2363 (Previously, `.to_graphql` methods were used to generate singletons which were used at runtime.) This means:
|
36 | 16 | - Methods that used to receive types at runtime will now receive classes instead of those singletons.
|
37 | 17 | - `.name` will now call `Class#name`, which will give the class name. Use `.graphql_name` to get the name of a GraphQL type. (Fields, arguments and directives have `.graphql_name` too, so you can use it everywhere.)
|
38 | 18 | - Some methods that return hashes are slow because they merge hashes according to class inheritance, for example `MySchema.types` and `MyObjectType.fields`. Instead:
|
39 | 19 | - If you only need one item out of the Hash, use `.get_type(type_name)` or `.get_field(field_name)` instead. Those methods find a match without performing Hash merges.
|
40 | 20 | - If you need the whole Hash, get a cached value from `context.warden` (an instance of `GraphQL::Schema::Warden`) at runtime. Those values reflect the types and fields which are permitted for the current query, and they're cached for life of the query. Check the API docs to see methods on the `warden`.
|
| 21 | +- Class-based schemas using the interpreter _must_ add `use GraphQL::Analysis::AST` to their schema (and update their custom analyzers, see https://graphql-ruby.org/queries/ast_analysis.html) #2363 |
41 | 22 | - ActiveSupport::Notifications events are correctly named in event.library format #2562
|
42 |
| - |
43 |
| -### New features |
44 |
| - |
45 |
| -- `Schema.from_definition` accepts `using:` for installing plugins (equivalent to `use ...` in class-based schemas) #2307 |
46 |
| - |
47 |
| -### Bug fixes |
48 |
| - |
49 |
| -- Big numbers (ie, greater than Ruby's `Infinity`) no longer :boom: when being reserialized #2320 |
50 |
| -- Fix `hasNextPage`/`hasPrevious` page when max_page_size limits the items returned #2608 |
51 |
| - |
52 |
| -## 1.10.0.pre1 (10 Oct 2019) |
53 |
| - |
54 |
| -### Breaking changes |
55 |
| - |
56 | 23 | - Field and Argument `#authorized?` methods now accept _three_ arguments (instead of 2). They now accept `(obj, args, ctx)`, where `args` is the arguments (for a field) or the argument value (for an argument). #2536
|
57 | 24 | - Double-null `!!` is disallowed by the parser #2397
|
58 | 25 | - (Non-interpreter only) The return value of subscription fields is passed along to execute the subscription. Return `nil` to get the previous behavior. #2536
|
59 | 26 | - `Schema.from_definition` builds a _class-based schema_ from the definition string #2178
|
60 | 27 | - Only integers are accepted for `Int` type #2404
|
61 | 28 |
|
62 |
| -### New features |
| 29 | +### Deprecations |
| 30 | + |
| 31 | +- `.define` is deprecated; class-based schema definitions should be used instead. If you're having trouble or you can't find information about an upgrade path, please open an issue on GitHub! |
63 | 32 |
|
| 33 | +### New Features |
| 34 | + |
| 35 | +- Add tracing events for `.authorized?` and `.resolve_type` calls #2660 |
| 36 | +- `Schema.from_definition` accepts `using:` for installing plugins (equivalent to `use ...` in class-based schemas) #2307 |
64 | 37 | - Add `$` to variable names in error messages #2531
|
65 | 38 | - Add invalid value to argument error message #2531
|
66 | 39 | - Input object arguments with `loads:` get the loaded object in their `authorized?` hook, as `arg` in `authorized?(obj, args, ctx)`. #2536
|
67 | 40 | - `GraphQL::Pagination` auto-pagination system #2143
|
68 | 41 | - `Schema.from_definition` builds a _class-based schema_ from the definition string #2178
|
69 | 42 |
|
70 |
| -### Bug fixes |
| 43 | +### Bug Fixes |
71 | 44 |
|
| 45 | +- Fix warnings on Ruby 2.7 #2668 |
| 46 | +- Fix Ruby keyword list to support Ruby 2.7 #2640 |
| 47 | +- Reduce memory of class-based schema #2636 |
| 48 | +- Improve runtime performance of interpreter #2630 |
| 49 | +- Big numbers (ie, greater than Ruby's `Infinity`) no longer :boom: when being reserialized #2320 |
| 50 | +- Fix `hasNextPage`/`hasPrevious` page when max_page_size limits the items returned #2608 |
72 | 51 | - Return parse errors for empty documents and empty argument lists #2344
|
73 | 52 | - Properly serialize `defaultValue` of input objects containing enum values #2439
|
74 | 53 | - Don't crash when a query contains `!!`. #2397
|
|
0 commit comments