Skip to content

Commit e097ec2

Browse files
gh-action-runnergh-action-runner
authored andcommitted
Squashed 'apollo-ios/' changes from b0007f91..328b4260
328b4260 Update ROADMAP.md git-subtree-dir: apollo-ios git-subtree-split: 328b4260386509eabb53bba31aff2ef4fe603f3d
1 parent e85869d commit e097ec2

File tree

1 file changed

+13
-7
lines changed

1 file changed

+13
-7
lines changed

ROADMAP.md

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# 🔮 Apollo iOS Roadmap
22

3-
**Last updated: 2025-05-27**
3+
**Last updated: 2025-06-24**
44

55
For up to date release notes, refer to the project's [Changelog](https://github.com/apollographql/apollo-ios/blob/main/CHANGELOG.md).
66

@@ -45,7 +45,7 @@ _Status: In design phase. Current RFC for design is available [here](https://git
4545

4646
### [Support codegen of operations without response models](https://github.com/apollographql/apollo-ios/issues/3165)
4747

48-
_Status: API Design in progress_
48+
_Status: Not started_
4949

5050
- Support generating models that expose only the minimal necessary data for operation execution (networking and caching).
5151
- This would remove the generated response models, exposing response data as a simple `JSONObject` (ie. [String: AnyHashable]).
@@ -60,15 +60,21 @@ _Status: Not started_
6060

6161
### `@fieldPolicy` directive
6262

63-
_Status: Not Started_
63+
_Status: Development in progress_
6464

6565
The [`@fieldPolicy` directive](https://www.apollographql.com/docs/kotlin/caching/declarative-ids#fieldpolicy) is currently supported by Apollo Kotlin and Apollo Web. This directive allows users to configure field arguments to be used to retrieve data stored in the normalized cache. In our efforts to improve feature parity across the client platforms, we plan to implement this directive in Apollo iOS as well.
6666

6767
### Semantic Nullability
6868

6969
_Status: Feature Design_
7070

71-
We are active participants in the [Nullability Working Group](https://github.com/graphql/nullability-wg/) and are planning to ship experimental support for @semanticNonNull, @catch, etc. based on Apollo Kotlin’s (link-to-docs) soon. Future iterations are expected but it’s too early to tell what those might be.
71+
We are active participants in the [Nullability Working Group](https://github.com/graphql/nullability-wg/) and are planning to ship experimental support for @semanticNonNull, @catch, etc. based on Apollo Kotlin’s soon. Future iterations are expected but it’s too early to tell what those might be.
72+
73+
### `@stream` directive support
74+
75+
_Status: Not started_
76+
77+
The incremental delivery (`@defer/@stream`) directives are nearing acceptance into the GraphQL specification. Support for `@defer` is already implemented. We will be implementing support for `@stream` in the forseeable future.
7278

7379
## [Apollo iOS Pagination](https://github.com/apollographql/apollo-ios-pagination)
7480

@@ -82,12 +88,12 @@ These are the initiatives planned for future major version releases:
8288

8389
## Caching
8490

85-
[**Requesting Feedback**](https://github.com/apollographql/apollo-ios/issues/3501): We are currently looking for feedback on what features, use cases, or improvements you would like to see supported by the next iteration of the Apollo iOS normalized cache. Please provide your input on [this issue](https://github.com/apollographql/apollo-ios/issues/3501).
86-
87-
- **Cache Improvements**: Here we are looking at bringing across some features inspired by Apollo Client 3 and Apollo Kotlin
91+
We are planning an overhaul of the caching mechanisms for a 3.0 release. This is planned to include:
8892
- Better pagination support. Better support for caching and updating paginated lists of objects.
8993
- Result model improvements
9094
- Reducing over-normalization. Only separating out results into individual records when something that can identify them is present
9195
- Real cache eviction & dangling reference collection. There's presently a way to manually remove objects for a given key or pattern, but Apollo Client 3 has given us a roadmap for how to handle some of this stuff much more thoroughly and safely.
9296
- Cache metadata. Ability to add per-field metadata if needed, to allow for TTL and time-based invalidation, etc.
9397
- Querying/sorting cached data by field values.
98+
99+
For more information see the [Caching Rework RFC](https://github.com/apollographql/apollo-ios/issues/3529).

0 commit comments

Comments
 (0)