Skip to content

Commit

Permalink
2024-04-16 Roadmap Update
Browse files Browse the repository at this point in the history
  • Loading branch information
bignimbus authored Apr 16, 2024
1 parent e41cc41 commit 1667644
Showing 1 changed file with 16 additions and 12 deletions.
28 changes: 16 additions & 12 deletions ROADMAP.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# 🔮 Apollo iOS Roadmap

**Last updated: 2024-04-02**
**Last updated: 2024-04-16**

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

Expand All @@ -23,27 +23,23 @@ As we identify feature sets that we intend to ship, we'll add to and update the

### [`@defer` support](https://github.com/apollographql/apollo-ios/issues/2395)

_Now available for preview in the `preview-defer.1` branch_
_Approximate Date: 2024-04-09 (experimental)_

The `@defer` directive enables your queries to receive data for specific fields asynchronously. This is helpful whenever some fields in a query take much longer to resolve than others. [Apollo Kotlin](https://www.apollographql.com/docs/kotlin/fetching/defer/) and [Apollo Client (web)](https://www.apollographql.com/docs/react/data/defer/) currently support this syntax, so if you're interested in learning more check out their documentation. Apollo iOS has released a preview version of this feature in the `preview-defer.1` branch. This will be released as an experimental feature in an upcoming `1.x` minor version.

The feature is being rolled out on the `preview-defer.n` tags (currently `preview-defer.2`:
* ✅ Code generation
* ✅ Partial incremental execution
* 🔨 Partial and incremental caching (_approx. 2024-04-29_)
* 🔲 Selection Set Initializers (_next_)

### [Improvements to code generation configuration and performance](https://github.com/apollographql/apollo-ios/milestone/67)

_Approximate Date: to be released incrementally_

- This effort encompasses several smaller features:
- ✅ Make codegen support Swift concurrency (`async`/`await`): available in v1.7.0
- Add configuration for disabling merging of fragment fields
- (in progress) [Add configuration for disabling merging of fragment fields](https://github.com/apollographql/apollo-ios/issues/2560)
- (in progress) Fix retain cycles and memory issues causing code generation to take very long on certain large, complex schemas with deeply nested fragment composition

### [Reduce generated schema types](https://github.com/apollographql/apollo-ios/milestone/71)

_Approximate Date: 2024-04-30_

- Right now we are naively generating schema types that we don't always need. A smarter algorithm can reduce generated code for certain large schemas that are currently having every type in their schema generated
- Create configuration for manually indicating schema types you would like to have schema types and TestMocks generated for

### Swift 6 compatibility

_Approximate Date: 2024-05-17_
Expand All @@ -59,6 +55,14 @@ _Approximate Date: 2024-05-29_
- This will allow user's to improve the quality and expressiveness of client side APIs when schema type names are not appropriate for client usage.
- This also allows workarounds for issues when names of schema types conflict with Swift types.

### [Reduce generated schema types](https://github.com/apollographql/apollo-ios/milestone/71)

_Approximate Date: 2024-05-31_

- Right now we are naively generating schema types that we don't always need. A smarter algorithm can reduce generated code for certain large schemas that are currently having every type in their schema generated
- Create configuration for manually indicating schema types you would like to have schema types and TestMocks generated for


### [Mutable generated reponse models](https://github.com/apollographql/apollo-ios/issues/3246)

_Approximate Date: TBD_
Expand Down

0 comments on commit 1667644

Please sign in to comment.