-
Notifications
You must be signed in to change notification settings - Fork 50
Open
Labels
enhancementNew feature or requestNew feature or request
Description
This is where I'm going to start tracking features for 5.0, the next major version of cppgraphqlgen. This will be a breaking change for existing consumers, so it's an opportunity to cleanup deprecated methods and simplify some of the APIs. I'm also going to adopt a few more C++20 and C++23 features if they are well enough supported on Windows, Linux, and macOS now.
This is using #172, the tracking issue for cppgraphqlgen 4.0, as a template and starting point.
- Stand up a branch for 5.0 and start making PRs against that: https://github.com/microsoft/cppgraphqlgen/tree/next.
- C++20: Modules.
- C++20: Ranges: Should modernize a lot of begin/end iterator usage.
- C++20:
std::fmtinstead ofstd::ostringstream. - C++20: Co-routines/Awaitable interoperability: See Any real-world examples where the coroutine backing can be applied? #271, this may require a breaking change to the
cppgraphqlgenAwaitabletypes. - Sharing input/scalar/enum types between
clientgenandschemagen: See Cannot use multiple client object in single compilation unit. #264 for more discussion. - Build some alternate implementations of
JSONResponse.*with other JSON libraries besidesRapidJSON. - Experiment with resolver visitor pattern instead of always going through
service::ResolverResult. #320 - Generate separate headers/modules for enums and input types and include that in
...Schema.hinstead of inline declarations. #321 - Add support for schema stitching. #323
- Update docs for v5.0 in next branch #330
I'll update this list as new features crop up and as I/we make progress on it. If there's something you'd like to see that I haven't included already, feel free to comment on this issue.
matthargett
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request