You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: ROADMAP.md
+13-7Lines changed: 13 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# 🔮 Apollo iOS Roadmap
2
2
3
-
**Last updated: 2025-05-27**
3
+
**Last updated: 2025-06-24**
4
4
5
5
For up to date release notes, refer to the project's [Changelog](https://github.com/apollographql/apollo-ios/blob/main/CHANGELOG.md).
6
6
@@ -45,7 +45,7 @@ _Status: In design phase. Current RFC for design is available [here](https://git
45
45
46
46
### [Support codegen of operations without response models](https://github.com/apollographql/apollo-ios/issues/3165)
47
47
48
-
_Status: API Design in progress_
48
+
_Status: Not started_
49
49
50
50
- Support generating models that expose only the minimal necessary data for operation execution (networking and caching).
51
51
- This would remove the generated response models, exposing response data as a simple `JSONObject` (ie. [String: AnyHashable]).
@@ -60,15 +60,21 @@ _Status: Not started_
60
60
61
61
### `@fieldPolicy` directive
62
62
63
-
_Status: Not Started_
63
+
_Status: Development in progress_
64
64
65
65
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.
66
66
67
67
### Semantic Nullability
68
68
69
69
_Status: Feature Design_
70
70
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.
@@ -82,12 +88,12 @@ These are the initiatives planned for future major version releases:
82
88
83
89
## Caching
84
90
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:
88
92
- Better pagination support. Better support for caching and updating paginated lists of objects.
89
93
- Result model improvements
90
94
- Reducing over-normalization. Only separating out results into individual records when something that can identify them is present
91
95
- 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.
92
96
- Cache metadata. Ability to add per-field metadata if needed, to allow for TTL and time-based invalidation, etc.
93
97
- 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