Skip to content

Commit 59548b5

Browse files
authored
Merge pull request #249 from apollographql/0.7.1
release: v0.7.1
2 parents be0ff27 + ed35765 commit 59548b5

File tree

10 files changed

+54
-38
lines changed

10 files changed

+54
-38
lines changed

.changesets/feat_pass_session_id.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.changesets/fix_apollo_uplink_endpoints_env_var_parsing.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 34 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,35 @@ All notable changes to this project will be documented in this file.
44

55
This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7+
# [0.7.1] - 2025-08-13
8+
9+
## 🚀 Features
10+
11+
### feat: Pass `remote-mcp` mcp-session-id header along to GraphQL request - @damassi PR #236
12+
13+
This adds support for passing the `mcp-session-id` header through from `remote-mcp` via the MCP client config. This header [originates from the underlying `@modelcontextprotocol/sdk` library](https://github.com/modelcontextprotocol/typescript-sdk/blob/a1608a6513d18eb965266286904760f830de96fe/src/client/streamableHttp.ts#L182), invoked from `remote-mcp`.
14+
15+
With this change it is possible to correlate requests from MCP clients through to the final GraphQL server destination.
16+
17+
## 🐛 Fixes
18+
19+
### fix: Valid token fails validation with multiple audiences - @DaleSeo PR #244
20+
21+
Valid tokens are failing validation with the following error when the JWT tokens contain an audience claim as an array.
22+
23+
```
24+
JSON error: invalid type: sequence, expected a string at line 1 column 97
25+
```
26+
27+
According to [RFC 7519 Section 4.1.3](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.3), the audience claim can be either a single string or an array of strings. However, our implementation assumes it will always be a string, which is causing this JSON parsing error.
28+
This fix updates the `Claims` struct to use `Vec<String>` instead of `String` for the `aud` field, along with a custom deserializer to handle both string and array formats.
29+
30+
### fix: Add custom deserializer to handle APOLLO_UPLINK_ENDPOINTS environment variable parsing - @swcollard PR #220
31+
32+
The APOLLO_UPLINK_ENDPOINTS environment variables has historically been a comma separated list of URL strings.
33+
The move to yaml configuration allows us to more directly define the endpoints as a Vec.
34+
This fix introduces a custom deserializer for the `apollo_uplink_endpoints` config field that can handle both the environment variable comma separated string, and the yaml-based list.
35+
736
# [0.7.0] - 2025-08-04
837

938
## 🚀 Features
@@ -24,12 +53,12 @@ transport:
2453
# List of upstream delegated OAuth servers
2554
# Note: These need to support the OIDC metadata discovery endpoint
2655
servers:
27-
- https://auth.example.com
56+
- https://auth.example.com
2857

2958
# List of accepted audiences from upstream signed JWTs
3059
# See: https://www.ory.sh/docs/hydra/guides/audiences
3160
audiences:
32-
- mcp.example.audience
61+
- mcp.example.audience
3362

3463
# The externally available URL pointing to this MCP server. Can be `localhost`
3564
# when testing locally.
@@ -42,9 +71,9 @@ transport:
4271

4372
# List of queryable OAuth scopes from the upstream OAuth servers
4473
scopes:
45-
- read
46-
- mcp
47-
- profile
74+
- read
75+
- mcp
76+
- profile
4877
```
4978
5079
## 🐛 Fixes
@@ -54,8 +83,6 @@ transport:
5483
To support certain scenarios where a client fails on an omitted `properties` field within `input_schema`, setting the field to an empty map (`{}`) instead. While a missing `properties` field is allowed this will unblock
5584
certain users and allow them to use the MCP server.
5685

57-
58-
5986
# [0.6.1] - 2025-07-29
6087

6188
## 🐛 Fixes

Cargo.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ members = [
88

99
[workspace.package]
1010
authors = ["Apollo <[email protected]>"]
11-
version = "0.7.0"
11+
version = "0.7.1"
1212

1313
[workspace.dependencies]
1414
apollo-compiler = "1.27.0"

RELEASE_CHECKLIST.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ This document outlines the steps required to prepare and execute a new release o
66

77
- [ ] Create a new branch "#.#.#" where "#.#.#" is this release's version
88
- [ ] Update the change log by running `cargo xtask changeset changelog #.#.#` where `#.#.#` is the release version, and verify the results in [CHANGELOG.md](./CHANGELOG.md)
9-
- [ ] Ensure that any new command line arguments have been added to [the command reference doc page](./docs/source/command-reference.mdx)
10-
- [ ] Ensure any new command line arguments have an equivalent in `rover dev`, or there is an open task to add them if appropriate
9+
- [ ] Ensure that any new configuration options have been added to [the command reference doc page](./docs/source/command-reference.mdx)
10+
- [ ] Ensure any new configuration options have an equivalent in `rover dev`, or there is an open task to add them if appropriate
1111
- [ ] Update the version number in [Cargo.toml](./Cargo.toml)
1212
- [ ] Update the version number in [the \*nix install script](./scripts/nix/install.sh)
1313
- [ ] Update the version number in [the Windows install script](./scripts/windows/install.ps1)

crates/apollo-mcp-server/src/graphql.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ mod test {
187187
"extensions": {
188188
"clientLibrary": {
189189
"name":"mcp",
190-
"version":"0.7.0"
190+
"version":"0.7.1"
191191
}
192192
},
193193
"operationName":"mock_operation"
@@ -233,7 +233,7 @@ mod test {
233233
},
234234
"clientLibrary": {
235235
"name":"mcp",
236-
"version":"0.7.0"
236+
"version":"0.7.1"
237237
}
238238
},
239239
})

docs/source/command-reference.mdx

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,14 @@ To download a **specific version** of Apollo MCP Server (recommended for CI envi
2626

2727
```bash
2828
# Note the `v` prefixing the version number
29-
docker image pull ghcr.io/apollographql/apollo-mcp-server:v0.7.0
29+
docker image pull ghcr.io/apollographql/apollo-mcp-server:v0.7.1
3030
```
3131

3232
To download a specific version of Apollo MCP Server that is a release candidate:
3333

3434
```bash
3535
# Note the `v` prefixing the version number and the `-rc` suffix
36-
docker image pull ghcr.io/apollographql/apollo-mcp-server:v0.7.0-rc.1
36+
docker image pull ghcr.io/apollographql/apollo-mcp-server:v0.7.1-rc.1
3737
```
3838

3939
<Note>
@@ -65,7 +65,7 @@ To install or upgrade to a **specific version** of Apollo MCP Server (recommende
6565

6666
```bash
6767
# Note the `v` prefixing the version number
68-
curl -sSL https://mcp.apollo.dev/download/nix/v0.7.0 | sh
68+
curl -sSL https://mcp.apollo.dev/download/nix/v0.7.1 | sh
6969
```
7070

7171
If your machine doesn't have the `curl` command, you can get the latest version from the [`curl` downloads page](https://curl.se/download.html).
@@ -82,7 +82,7 @@ To install or upgrade to a **specific version** of Apollo MCP Server (recommende
8282

8383
```bash
8484
# Note the `v` prefixing the version number
85-
iwr 'https://mcp.apollo.dev/download/win/v0.7.0' | iex
85+
iwr 'https://mcp.apollo.dev/download/win/v0.7.1' | iex
8686
```
8787

8888
## Usage
@@ -197,7 +197,7 @@ These fields are under the top-level `introspection` key. Learn more about the M
197197
These fields are under the top-level `logging` key.
198198

199199
| Option | Type | Default | Description |
200-
|:-----------|:----------------------------------------------------|:-----------|:----------------------------------------------------------------------------------|
200+
| :--------- | :-------------------------------------------------- | :--------- | :-------------------------------------------------------------------------------- |
201201
| `level` | `oneOf ["trace", "debug", "info", "warn", "error"]` | `"info"` | The minimum log level to record |
202202
| `path` | `FilePath` | | An output file path for logging. If not provided logging outputs to stdio/stderr. |
203203
| `rotation` | `oneOf ["minutely", "hourly", "daily", "never"]` | `"hourly"` | The log file rotation interval (if file logging is used) |
@@ -256,7 +256,6 @@ The default value for `type` is `"stdio"`.
256256
| StreamableHTTP | `address` | `IpAddr` | `127.0.0.1` | The IP address to bind to |
257257
| StreamableHTTP | `port` | `u16` | `5000` | The port to bind to |
258258

259-
260259
### Auth
261260

262261
These fields are under the top-level `transport` key, nested under the `auth` key.
@@ -278,12 +277,12 @@ transport:
278277
# List of upstream delegated OAuth servers
279278
# Note: These need to support the OIDC metadata discovery endpoint
280279
servers:
281-
- https://auth.example.com
280+
- https://auth.example.com
282281
283282
# List of accepted audiences from upstream signed JWTs
284283
# See: https://www.ory.sh/docs/hydra/guides/audiences
285284
audiences:
286-
- mcp.example.audience
285+
- mcp.example.audience
287286
288287
# The externally available URL pointing to this MCP server. Can be `localhost`
289288
# when testing locally.
@@ -296,9 +295,9 @@ transport:
296295

297296
# List of queryable OAuth scopes from the upstream OAuth servers
298297
scopes:
299-
- read
300-
- mcp
301-
- profile
298+
- read
299+
- mcp
300+
- profile
302301
```
303302
304303
## Run a local graph with MCP server using `rover dev`

scripts/nix/install.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ BINARY_DOWNLOAD_PREFIX="${APOLLO_MCP_SERVER_BINARY_DOWNLOAD_PREFIX:="https://git
1414

1515
# Apollo MCP Server version defined in apollo-mcp-server's Cargo.toml
1616
# Note: Change this line manually during the release steps.
17-
PACKAGE_VERSION="v0.7.0"
17+
PACKAGE_VERSION="v0.7.1"
1818

1919
download_binary_and_run_installer() {
2020
downloader --check

scripts/windows/install.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
# Apollo MCP Server version defined in apollo-mcp-server's Cargo.toml
1010
# Note: Change this line manually during the release steps.
11-
$package_version = 'v0.7.0'
11+
$package_version = 'v0.7.1'
1212

1313
function Install-Binary($apollo_mcp_server_install_args) {
1414
$old_erroractionpreference = $ErrorActionPreference

0 commit comments

Comments
 (0)