|
8 | 8 |
|
9 | 9 | ### Bug fixes
|
10 | 10 |
|
| 11 | +## 1.8.0 (17 May 2018) |
| 12 | + |
| 13 | +`1.8.0` has been in prerelease for 6 months. See the prerelease changelog for change-by-change details. Here's a high-level changelog, followed by a detailed list of changes since the last prerelease. |
| 14 | + |
| 15 | +### High-level changes |
| 16 | + |
| 17 | +#### Breaking Changes |
| 18 | + |
| 19 | +- GraphQL-Ruby is not tested on Ruby 2.1. #1070 Because Ruby 2.1 doesn't garbage collect Symbols, it's possible that GraphQL-Ruby will introduce a OOM vulnerability where unique symbols are dynamically created, for example, turning user input into Symbols. No instances of this are known in GraphQL-Ruby ... yet! |
| 20 | +- `GraphQL::Delegate`, a duplicate of Ruby's `Forwardable`, was removed. Use `Forwardable` instead, and update your Ruby if you're on `2.4.0`, due to a performance regression in `Forwardable` in that version. |
| 21 | +- `MySchema.subscriptions.trigger` asserts that its inputs are valid arguments #1400. So if you were previously passing invalid options there, you'll get an error. Remove those options. |
| 22 | + |
| 23 | +#### New Features |
| 24 | + |
| 25 | +- A new class-based API for schema definition. The old API is completely supported, but the new one is much nicer to use. If you migrate, some schema extensions may require a bit of extra work. |
| 26 | +- Built-in support for Mongoid-backed Relay connections |
| 27 | +- `.execute(variables: ...)` and `subscriptions.trigger` both accept Symbol-keyed hashes |
| 28 | +- Lots of other small things around SDL parsing, tracing, runtime ... everything. Read the details below for a full list. |
| 29 | + |
| 30 | +#### Bug Fixes |
| 31 | + |
| 32 | +- Many, many bug fixes. See the detailed list if you're curious about specific bugs. |
| 33 | + |
| 34 | +### Changes since `1.8.0.pre11`: |
| 35 | + |
| 36 | +#### Breaking Changes |
| 37 | + |
| 38 | +- `GraphQL::Schema::Field#initialize`'s signature changed to accept keywords and a block only. `type:`, `description:` and `name:` were moved to keywords. See `Field.from_options` for how the `field(...)` helper's arguments are merged to go to `Field.new`. #1508 |
| 39 | + |
| 40 | +#### New Features |
| 41 | + |
| 42 | +- `Schema::Resolver` is a replacement for `GraphQL::Function` #1472 |
| 43 | +- Fix subscriptions with class-based schema #1478 |
| 44 | +- `Tracing::NewRelicTracing` accepts `set_transaction_name:` to use the GraphQL operation name as the NewRelic transaction name #1430 |
| 45 | + |
| 46 | +#### Bug fixes |
| 47 | + |
| 48 | +- Backported `accepts_definition`s are inherited #1514 |
| 49 | +- Fix Schema generator's `resolve_type` method #1481 |
| 50 | +- Fix constant assignment warnings with interfaces including multiple other interfaces #1465 |
| 51 | +- InputObject types loaded from SDL have the proper AST node assigned to them #1512 |
| 52 | + |
11 | 53 | ## 1.8.0.pre11 (3 May 2018)
|
12 | 54 |
|
13 | 55 | ### Breaking changes
|
|
0 commit comments