Skip to content

Commit

Permalink
Merge branch 'main' into release-3.7.
Browse files Browse the repository at this point in the history
  • Loading branch information
benjamn committed May 3, 2022
2 parents b280380 + 34105b0 commit 695481c
Show file tree
Hide file tree
Showing 17 changed files with 281 additions and 422 deletions.
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,25 @@

TODO

## Apollo Client 3.6.2 (2022-05-02)

### Bug Fixes

- Pass `getServerSnapshot` function to `useSyncExternalStore` in addition to `getSnapshot`, though the two functions behave identically. This change should fix/unbreak React 18 server rendering. <br/>
[@hungphongbk](https://github.com/hungphongbk) in [#9652](https://github.com/apollographql/apollo-client/pull/9652)

### Improvements

- Consider `networkError.result.errors` in addition to `result.errors` in `PersistedQueryLink`. <br/>
[@redaid113](https://github.com/redaid113) and [@benjamn](https://github.com/benjamn) in [#9410](https://github.com/apollographql/apollo-client/pull/9410)

## Apollo Client 3.6.1 (2022-04-28)

### Bug Fixes

- Remove recently-added, internal `fetchBlockingPromise` option from the `WatchQueryOptions` interface, due to regressions. <br/>
[@benjamn](https://github.com/benjamn) in [#9504](https://github.com/apollographql/apollo-client/pull/9504)

## Apollo Client 3.6.0 (2022-04-26)

### Potentially disruptive changes
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2021 Apollo Graph, Inc. (Formerly Meteor Development Group, Inc.)
Copyright (c) 2022 Apollo Graph, Inc. (Formerly Meteor Development Group, Inc.)

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
41 changes: 29 additions & 12 deletions ROADMAP.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,37 @@
# Apollo Client Roadmap
# 🔮 Apollo Client Roadmap

*Last updated: November 2021*
**Last updated: April 2022**

> **Please note:** This is an approximation of **larger effort** work planned for the next 6 months. It does not cover all new functionality that will be added, and nothing here is set in stone. Also note that each of these releases, and several patch releases in-between, will include bug fixes (based on issue triaging) and community submitted PR's.
For up to date release notes, refer to the project's [Change Log](https://github.com/apollographql/apollo-client/blob/main/CHANGELOG.md).

## 3.6
> **Please note:** This is an approximation of **larger effort** work planned for the next 6 - 12 months. It does not cover all new functionality that will be added, and nothing here is set in stone. Also note that each of these releases, and several patch releases in-between, will include bug fixes (based on issue triaging) and community submitted PR's.
**Estimated release:** Q4 2021
## ✋ Community feedback & prioritization

* New hooks: `useFragment` ([#8236](https://github.com/apollographql/apollo-client/pull/8782)) and `useBackgroundQuery` ([#8783](https://github.com/apollographql/apollo-client/pull/8783))
* Non-breaking React layer refactoring, and compatibility with React 18 ([#8419](https://github.com/apollographql/apollo-client/issues/8419))
* `@defer` / `@stream` support ([#8184](https://github.com/apollographql/apollo-client/issues/8184))
- Please report feature requests or bugs as a new [issue](https://github.com/apollographql/apollo-client/issues/new/choose).
- If you already see an issue that interests you please add a 👍 or a comment so we can measure community interest.

## 4.0
---
## 3.7

1. Web Cache and performance improvements through new hooks (useBackgroundQuery, useFragment)
- [#8694](https://github.com/apollographql/apollo-client/issues/8694)
- [#8236](https://github.com/apollographql/apollo-client/issues/8236)
2. RefetchQueries not working when using string array after mutation
- [#5419](https://github.com/apollographql/apollo-client/issues/5419)
3. Adding React suspense + data fetching support
- [#9627](https://github.com/apollographql/apollo-client/issues/9627)

## 3.8

- *TBD*

**Estimated release:** Q1 2022
## 3.9

- *TBD*

## 4.0

* Full React layer rewrite ([#8245](https://github.com/apollographql/apollo-client/issues/8245)), including the removal of React from the default `@apollo/client` entry point ([#8190](https://github.com/apollographql/apollo-client/issues/8190))
* Core APIs to facilitate client/cache persistence (making life simpler for tools like [`apollo3-cache-persist`](https://github.com/apollographql/apollo-cache-persist), for example) ([#8591](https://github.com/apollographql/apollo-client/issues/8591))
- Full React layer rewrite ([#8245](https://github.com/apollographql/apollo-client/issues/8245))
- Removal of React from the default `@apollo/client` entry point ([#8190](https://github.com/apollographql/apollo-client/issues/8190))
- Core APIs to facilitate client/cache persistence (making life simpler for tools like [`apollo3-cache-persist`](https://github.com/apollographql/apollo-cache-persist), for example) ([#8591](https://github.com/apollographql/apollo-client/issues/8591))
2 changes: 1 addition & 1 deletion docs/source/api/link/apollo-link-batch-http.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ The context `http` object currently supports two keys:
* `includeExtensions`: Send the extensions object for this request.
* `includeQuery`: Don't send the `query` field for this request.

One way to use persisted queries is with [apollo-link-persisted-queries](https://github.com/apollographql/apollo-link-persisted-queries) and [Apollo Server](/apollo-server/performance/apq/).
One way to use persisted queries is with [apollo-link-persisted-queries](https://www.apollographql.com/docs/react/api/link/persisted-queries) and [Apollo Server](/apollo-server/performance/apq/).

## Custom fetching

Expand Down
7 changes: 3 additions & 4 deletions docs/source/api/link/apollo-link-ws.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,12 @@ import { WebSocketLink } from "@apollo/client/link/ws";
import { SubscriptionClient } from "subscriptions-transport-ws";

const link = new WebSocketLink(
new SubscriptionClient({
uri: "ws://localhost:3000/subscriptions",
new SubscriptionClient("ws://localhost:4000/graphql", {
options: {
reconnect: true,
},
}),
});
})
);
```

### Options
Expand Down
7 changes: 3 additions & 4 deletions docs/source/data/subscriptions.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -335,12 +335,12 @@ If your server uses `subscriptions-transport-ws` instead of the newer `graphql-w
3. Instead of `import { GraphQLWsLink } from '@apollo/client/link/subscriptions'`:

```js
import { WebSocketLink } from '@apollo/client/link/ws
import { WebSocketLink } from '@apollo/client/link/ws'
```

4. The options you pass to `new SubscriptionClient` differ slightly from those passed to `createClient`:

* The subscription URL is specified via the `uri` option instead of the `url` option.
* The first argument passed to the `SubscriptionClient` constructor is the URL for your subscription server.
* The `connectionParams` option is nested under an options object called `options` instead of being at the top level. (You can also pass the `new SubscriptionClient` constructor arguments directly to `new WebSocketLink`.)
* See [the `subscriptions-transport-ws` README](https://www.npmjs.com/package/subscriptions-transport-ws) for complete `SubscriptionClient` API docs.

Expand All @@ -353,8 +353,7 @@ import { WebSocketLink } from "@apollo/client/link/ws";
import { SubscriptionClient } from "subscriptions-transport-ws";

const wsLink = new WebSocketLink(
new SubscriptionClient({
uri: "ws://localhost:4000/subscriptions",
new SubscriptionClient("ws://localhost:4000/subscriptions", {
options: {
connectionParams: {
authToken: user.authToken,
Expand Down
Loading

0 comments on commit 695481c

Please sign in to comment.