Skip to content

apollo-compiler@1.28.0 #968

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Apr 24, 2025
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 43 additions & 12 deletions crates/apollo-compiler/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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<FileId>`.

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<FileId>`.

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

Expand Down
2 changes: 1 addition & 1 deletion crates/apollo-compiler/Cargo.toml
Original file line number Diff line number Diff line change
@@ -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 <shestak.irina@gmail.com>"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/apollographql/apollo-rs"
Expand Down
2 changes: 1 addition & 1 deletion crates/apollo-compiler/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down