From 5a5d8eb8db5fdda9a7af4aedea059f03b69f890f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9e=20Kooi?= Date: Wed, 23 Apr 2025 09:47:27 +0200 Subject: [PATCH 1/3] apollo-compiler@1.28.0 --- crates/apollo-compiler/CHANGELOG.md | 55 ++++++++++++++++++++++------- crates/apollo-compiler/Cargo.toml | 2 +- crates/apollo-compiler/README.md | 2 +- 3 files changed, 45 insertions(+), 14 deletions(-) diff --git a/crates/apollo-compiler/CHANGELOG.md b/crates/apollo-compiler/CHANGELOG.md index 3bd44bc7..a2a14a86 100644 --- a/crates/apollo-compiler/CHANGELOG.md +++ b/crates/apollo-compiler/CHANGELOG.md @@ -17,25 +17,56 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm ## Maintenance ## Documentation--> -# [1.2x.x] (unreleased) - 2025-mm-dd +# [1.28.0](https://crates.io/crates/apollo-compiler/1.28.0) - 2025-04-23 + +## Features + +- **Reject `@skip`/`@include` on subscription root fields - [DerekKuc] [SimonSapin] and [goto-bus-stop], [pull/963]** + + This implements a [GraphQL spec RFC](https://github.com/graphql/graphql-spec/pull/860), rejecting + subscriptions in validation that can be invalid during execution. + +- **New shorthand methods for mutable directive argument access - [tninesling], [pull/967]** + + Introduces new methods: + - `DirectiveList::get_all_mut` + - `DirectiveList::argument_by_name_mut` + - `DirectiveList::specified_argument_by_name_mut` + ## Fixes - **Update `ariadne` trait implementations - [lrlna], [pull/960]** -`ariadne@0.5.1` release changed their type signature for `ariadne::Cache` trait, which required an update to `apollo-compiler`'s implementation of `ariadne::Cache`. -This release also had a slight change to path formatting, so if you had any snapshots in your tests, you can expect a change from this: -``` -Error: `typeFragment1` contains too much nesting - ╭─[overflow.graphql:11:11] -``` + `ariadne@0.5.1` release changed their type signature for `ariadne::Cache` trait, which required an + update to `apollo-compiler`'s implementation of `ariadne::Cache`. -to this (notice the extra white space around the file path): -``` -Error: `typeFragment1` contains too much nesting - ╭─[ overflow.graphql:11:11 ] -``` + This release also had a slight change to path formatting, so if you had any snapshots in your + tests, you can expect a change from this: + ``` + Error: `typeFragment1` contains too much nesting + ╭─[overflow.graphql:11:11] + ``` + + to this (notice the extra white space around the file path): + ``` + Error: `typeFragment1` contains too much nesting + ╭─[ overflow.graphql:11:11 ] + ``` + +- **Harden stack overflow protection - [goto-bus-stop], [pull/966]** + + Closes a theoretical gap in stack overflow protection when processing long fragment chains, and + significantly improves validation performance on documents with thousands of fragment definitions. [lrlna]: https://github.com/lrlna +[DerekKuc]: https://github.com/DerekKuc +[goto-bus-stop]: https://github.com/goto-bus-stop +[SimonSapin]: https://github.com/SimonSapin +[tninesling]: https://github.com/tninesling +[pull/960]: https://github.com/apollographql/apollo-rs/pull/960 +[pull/963]: https://github.com/apollographql/apollo-rs/pull/963 +[pull/966]: https://github.com/apollographql/apollo-rs/pull/966 +[pull/967]: https://github.com/apollographql/apollo-rs/pull/967 # [1.27.0](https://crates.io/crates/apollo-compiler/1.26.0) - 2025-03-04 diff --git a/crates/apollo-compiler/Cargo.toml b/crates/apollo-compiler/Cargo.toml index dc54d1c8..843a5857 100644 --- a/crates/apollo-compiler/Cargo.toml +++ b/crates/apollo-compiler/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "apollo-compiler" -version = "1.27.0" # When bumping, also update README.md +version = "1.28.0" # When bumping, also update README.md authors = ["Irina Shestak "] license = "MIT OR Apache-2.0" repository = "https://github.com/apollographql/apollo-rs" diff --git a/crates/apollo-compiler/README.md b/crates/apollo-compiler/README.md index 4d1ede20..d51f7241 100644 --- a/crates/apollo-compiler/README.md +++ b/crates/apollo-compiler/README.md @@ -41,7 +41,7 @@ Or add this to your `Cargo.toml` for a manual installation: ```toml # Just an example, change to the necessary package version. [dependencies] -apollo-compiler = "1.27.0" +apollo-compiler = "1.28.0" ``` ## Rust versions From 47adca808c220b011ec4b15c4c43630f65c8b1a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9e?= Date: Thu, 24 Apr 2025 09:43:19 +0200 Subject: [PATCH 2/3] Fix name! Co-authored-by: Iryna Shestak --- crates/apollo-compiler/CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/apollo-compiler/CHANGELOG.md b/crates/apollo-compiler/CHANGELOG.md index a2a14a86..fb5b0958 100644 --- a/crates/apollo-compiler/CHANGELOG.md +++ b/crates/apollo-compiler/CHANGELOG.md @@ -21,7 +21,7 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm ## Features -- **Reject `@skip`/`@include` on subscription root fields - [DerekKuc] [SimonSapin] and [goto-bus-stop], [pull/963]** +- **Reject `@skip`/`@include` on subscription root fields - [dariuszkuc] [SimonSapin] and [goto-bus-stop], [pull/963]** This implements a [GraphQL spec RFC](https://github.com/graphql/graphql-spec/pull/860), rejecting subscriptions in validation that can be invalid during execution. @@ -59,7 +59,7 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm significantly improves validation performance on documents with thousands of fragment definitions. [lrlna]: https://github.com/lrlna -[DerekKuc]: https://github.com/DerekKuc +[dariuszkuc]: https://github.com/dariuszkuc [goto-bus-stop]: https://github.com/goto-bus-stop [SimonSapin]: https://github.com/SimonSapin [tninesling]: https://github.com/tninesling From 5afff2e377be4923c6b9a77e589c8b8860d779b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9e=20Kooi?= Date: Thu, 24 Apr 2025 09:53:50 +0200 Subject: [PATCH 3/3] daet --- crates/apollo-compiler/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/apollo-compiler/CHANGELOG.md b/crates/apollo-compiler/CHANGELOG.md index fb5b0958..bfcf3965 100644 --- a/crates/apollo-compiler/CHANGELOG.md +++ b/crates/apollo-compiler/CHANGELOG.md @@ -17,7 +17,7 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm ## Maintenance ## Documentation--> -# [1.28.0](https://crates.io/crates/apollo-compiler/1.28.0) - 2025-04-23 +# [1.28.0](https://crates.io/crates/apollo-compiler/1.28.0) - 2025-04-24 ## Features