microsoft / microsoft/cppgraphqlgen

Plans for cppgraphqlgen 5.0

Open
#311 27 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
C++
Stars
350
Forks
56
Avg merge
2h 33m
Merged PRs (30d)
3

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::fmt instead of std::ostringstream.
  • C++20: Co-routines/Awaitable interoperability: See #271, this may require a breaking change to the cppgraphqlgen Awaitable types.
  • Sharing input/scalar/enum types between clientgen and schemagen: See #264 for more discussion.
  • Build some alternate implementations of JSONResponse.* with other JSON libraries besides RapidJSON.
  • #320
  • #321
  • #323
  • #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.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the next branch and review the remaining unchecked item, #330, along with the linked discussions and completed 5.0 checklist items. This issue is a broad tracking plan for breaking API changes, C++20/C++23 adoption, and alternate JSONResponse implementations rather than a self-contained task; done depends on the specific feature selected.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.