-
Notifications
You must be signed in to change notification settings - Fork 827
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
☂️ Graphene v3 #1127
Comments
This comment has been minimized.
This comment has been minimized.
@dashmug graphene doesn't specify with version of graphiql you use. All you have to do is host GraphiQL yourself and point it at the grapqhl endpoint and it will work. |
What is the release schedule for v3? It looks like graphene is currently in beta 2, but what other revisions will there be before a non-beta release? How stable is the current beta? For new projects which version should be used? |
@AlecRosenbaum AFAIK all that is left to do are proper release notes. I was supposed to help with that but unfortunately I couldn't find time for that this week. If you would like to help feel free to start working on draft of said notes. I hope to spend some time on that this weekend, but no promises. |
If I interpret the initial comment correctly, the following tasks are left to do (correct me if I'm wrong):
The master branch being version 3, I guess it's time to merge or properly close #738 and #755. @jkimbo you created on of these PRs and reviewed the other one. Would you mind taking a look at these? For the graphql-core upgrade, we may need to take a look at their changelog(s) and at graphenes tests. Last but not least the release notes. I'd imagine them similar to the previous ones (v1, v2). They should cover all changes listed in the initial issue. One might need to look trough v3 commits to properly cover schema type changes. |
@DoctorJohn I came to the conclusion that #775 is not actually needed (reasons here: #775 (comment)). Also #738 needs to be brought up to date with master because it's quite old. @radekwlsk @DoctorJohn if either of you could help with that that would be great. Other than that that list looks right, I've updated the description to include them. |
Also I'm going to try and find some time this week to finish #1153 but no promises unfortunately. |
#1153 is ready for review now. If anyone has the time to take a look it would be most appreciated. |
Ok #1153 has been merged and I've written up some release notes: https://github.com/graphql-python/graphene/wiki/v3-release-notes If anyone is able to try out the latest beta in their projects that would be very helpful. Otherwise I think we should aim to release v3 in the next couple of weeks. |
We've been running We previously were using the @jkimbo Thank you for all the work you've done on this project! |
I've prepared migration of our project to We plan to start testing it on dev or staging environment soon, mainly to check the performance bump from #1157. Once we do that I will let you know @jkimbo if there were any issues or bugs found. |
is V3 backward compatible with third-party or even first-party plugins such as: Also, any guide on migration? |
Thanks @AlecRosenbaum @radekwlsk , good to know that you haven't encountered any issues. I've been using the beta release for the past couple of months and I haven't found any problems either. Regarding a release date for v3: @syrusakbary has decided that v3 needs to include a new annotation based object type api. I don't have an ETA on when that will be implemented but I have been assured that it won't take long.
I haven't checked that but the graphene-django-optimizer and graphene-django-extras library depend on graphene-django and the v3 release of that is tracked here: graphql-python/graphene-django#705 Thanks for raising it though, I'll try and make sure that those libraries have been checked against v3 of graphene-django before releasing it. |
@jkimbo I can attest that django-graphql-jwt has v3 support already merged, tested it and it has been running smoothly: flavors/django-graphql-jwt#213 |
I started a PR for graphene-django-extras, if you want to test it eamigo86/graphene-django-extras#148 I had no issues with django-graphql-jwt so far. |
A quick update on this. We decided to not block the release of Graphene v3 based on typing, since it might take longer than we expected. However, we are pending to updated the GraphQL-Python Graphene dependencies (such as graphene-mongo, graphene-sqlalchemy and so) to support Graphene 3.0 and GraphQL-core 3.0. So, until we don't update those dependencies to support Graphene v3, we can't publish the new version.
|
@jkimbo
but rather
Also
should rather be in in
error was not really helpful. As a side note: |
Would it be possible to update those dependent packages after the release? Those libraries look to have an order of magnitude less usage. I’m sure others are anxious to update to graphene 3 and are waiting on a final release. It may also help to drive momentum and contributors to help with those extension packages’ upgrade process. |
It also looks to have become chicken and egg: graphql-python/graphene-sqlalchemy#248 |
@syrusakbary What's the rationale for blocking the release of I'm personally in favor of releasing |
We're almost there! Two more graphene libraries need to support v3, graphene-sqlalchemy – WIP and graphene-mongo – WIP. If we can get tests passing on these last two PRs, we can release graphene v3. @DoctorJohn and @zsiciarz can you bring us over the finish line? Any blockers on your current WIP PRs? @jetzhou also offered to help with the sqlalchemy upgrade. @jetzhou can you work with @zsiciarz to bring this PR home? |
Actually looks like It's only |
Is there a reason we don't just don't let the downstream repositories manage their own dependencies and upgrade at their leisure? Isn't that why each repo has its own requirements file - so they can pin to v2 if they aren't ready to upgrade? I can't think of any other codebase in the python ecosystem that requires all of its downstream repositories to upgrade before the official version of the upstream one gets released. Does anyone have an example of this? It feels very "cart before the horse", no? |
@keithhackbarth let's answer this question once v3 is actually released. @richin13, @DoctorJohn, @zsiciarz, and others have jumped through flaming hoops, so let's not let a potential flame war slow things down! |
@pappasam , "slow things down". Really? It is probably mathematically impossible to go any slower than this issue has been managed. It will soon be multiple YEARS since this repo has been waiting for the downstream repos to confirm compatibility. |
I 1000% agree. Theres also little motivation for the other projects to upgrade if they are still technically on the stable build. As they get left behind, they may be more likely to get up to speed. And if they don't then they don't have the userbase to warrant the effort. Contributors are also more likely to help when they see that an actual release has occured. There's simply no way Id dedicate any of my time to this project simply because it's in release hell. Sure it's inching ever so slowly, but Im more likely to contribute to a OSS (and thus get the child dependencies up to speed quicker), if I can see quick returns on my effort. Not taking years to release. BTW I'm not even that motivated for a new release of this project, as I've since moved on. So if this is coming across as abrupt then I do apologise, it's definitely not meant that way. However I do think who ever decided such a policy needs to seriously rethink it. I feel it stifles any incentive in getting involved in the project, and simply grinds it to a halt. Move on and let the dependencies catch up. |
We need to assess whether v3 addresses performance problems we are seeing, or we need to find another technology soon. |
v3 uses native asyncio instead of the Promise libraries that are being used by v2. however, we are waiting for v3 for soooo long. |
With the release of v3 graphene-sqlalchemy, all dependent libraries now support v3. This unblocks the release of v3! |
at long last |
The cows have come home!!!!! |
Thanks for the fast code review and release! Glad to see that my code was able to help :) I think it really shows that a lot of us from the community are willing to help and how important Graphene is to us. |
What are next steps for cutting a release? Looks like all the downstream libraries are ready. |
@tstordyallison according to the checklist the last point is supposed to be checked by this merge? |
Yep! I think we are good to go. We just need someone to cut the release AFAICT. |
🥱 |
WRT the last TODO, it seems as though it has been merged in graphql-python/graphene-mongo#172 |
Cut v3.0.0 today https://github.com/graphql-python/graphene/releases/tag/v3.0.0 |
@syrusakbary any progress with this #1127 (comment) ? ... :/ |
What is the outstanding tasks to releasing the v3? All the TODO items have been checked off. I have been using the 3.0.0b7 for a year now. |
What about |
@aryadovoy the release notes for v3 should cover all the changes you need to make: https://github.com/graphql-python/graphene/wiki/v3-release-notes |
This issue is to track v3 of Graphene which will contain some breaking changes.
Breaking changes
type
totype_
sincetype
is a builtin: "type" is a builtin in python; switch some arguments called "type" to be "type_" #738to_const
functionTODO
type
totype_
sincetype
is a builtin: "type" is a builtin in python; switch some arguments called "type" to be "type_" #738to_const
function: Remove to_const function #1212The text was updated successfully, but these errors were encountered: