Skip to content

Commit

Permalink
Update ROADMAP.md
Browse files Browse the repository at this point in the history
  • Loading branch information
AnthonyMDev authored Oct 30, 2024
1 parent 7918704 commit d3ed72b
Showing 1 changed file with 15 additions and 9 deletions.
24 changes: 15 additions & 9 deletions ROADMAP.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# 🔮 Apollo iOS Roadmap

**Last updated: 2024-09-24**
**Last updated: 2024-10-29**

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

Expand Down Expand Up @@ -33,7 +33,7 @@ The `@defer` directive enables your queries to receive data for specific fields

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

_Approximate Date: to be released incrementally_
_Status: To be released incrementally_

- This effort encompasses several smaller features:
- ✅ Make codegen support Swift concurrency (`async`/`await`): available in v1.7.0
Expand All @@ -44,46 +44,52 @@ _Approximate Date: to be released incrementally_

To support the breaking language changes in Swift 6, a major version 2.0 of Apollo iOS will be released. This version will include support for the new Swift Concurrency Model and improve upon networking and caching APIs.

_Approximate Date: _Pending completion of design review._ Current RFC for design is available [here](https://github.com/apollographql/apollo-ios/issues/3411).
_Status: In design phase. Current RFC for design is available [here](https://github.com/apollographql/apollo-ios/issues/3411)._

-[`ExistentialAny` upcoming feature](https://github.com/apollographql/apollo-ios/issues/3205)
- (in progress) [`Sendable` types and `async/await` APIs](https://github.com/apollographql/apollo-ios/issues/3291)

### `@oneOf` Input Object Support

_Approximate Date: TBD, awaiting final approval of RFC into the GraphQL specification._
_Status: Awaiting final approval of RFC into the GraphQL specification._

For more information on this feature, see the [RFC](https://github.com/graphql/graphql-spec/pull/825) for its addition to the GraphQL specification.

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

_Approximate Date: TBD_
_Status: Not started_

- 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_
_Status: Not started_

- Provide a mechanism for making generated reponse models mutable.
- This will allow mutability on an opt-in basis per selection set or definition.

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

_Approximate Date: TBD_
_Status: Not started_

- Support generating models that expose only the minimal necessary data for operation execution (networking and caching).
- This would remove the generated response models, exposing response data as a simple `JSONObject` (ie. [String: AnyHashable]).
- This would remove the generated response models, exposing response data as a simple `JSONObject` (ie. [String: AnyHashable]).
- This feature is useful for projects that want to use their own custom data models or have binary size constraints.

### Declarative caching

_Approximate Date: TBD_
_Status: Not started_

- Similar to Apollo Kotlin [declarative caching](https://www.apollographql.com/docs/kotlin/caching/declarative-ids) via the `@typePolicy` directive
- Provide ability to configure cache keys using directives on schema types as an alternative to programmatic cache key configuration

### Semantic Nullability

_Status: Feature Design_

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.

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

Version 0.1 of this module was released in March 2024. We are iterating quickly based on user feedback - please see the project's Issues and PRs for up-to-date information. We expect the API to become more stable over time and will consider a v1 release when appropriate.
Expand Down

0 comments on commit d3ed72b

Please sign in to comment.