nozzlegear / ShopifySharp

ShopifySharp is a .NET library that helps developers easily authenticate with and manage Shopify stores.
https://nozzlegear.com/shopify-development-handbook
MIT License
742 stars 308 forks source link

Release 2024-01 #1011

Closed nozzlegear closed 6 months ago

nozzlegear commented 6 months ago

Releasing 7.0 is going to take a little longer than I thought, so I’m going to push out 2024-01 as part of 6.13.0.

I realize this contains breaking changes for the generated GraphQL types, but I think I’m okay with that. Since ShopifySharp doesn’t version itself the same way Shopify versions their API, it’s bound to happen and I don’t want to release a new major version each time they deprecate or change their graph (or rest) types.

clement911 commented 6 months ago

I personally think it's ok to increment the major version regularly. As an example, I use Stripe quite a bit, and they are already at major version 43!

Here we could increment to 7. And when you do your other changes, we could increment to 8, even if it's shortly after...

nozzlegear commented 6 months ago

Oh wow, 43 is crazy! Each major increment is breaking for them too?

-- Joshua Harms

On Mon, Feb 5, 2024, at 16:46, Clement Gutel wrote:

I personally think it's ok to increment the major version regularly. As an example, I use Stripe https://github.com/stripe/stripe-dotnet quite a bit, and they are already at major version 43!

Here we could increment to 7. And when you do your other changes, we could increment to 8, even if it's shortly after...

— Reply to this email directly, view it on GitHub https://github.com/nozzlegear/ShopifySharp/pull/1011#issuecomment-1928420281, or unsubscribe https://github.com/notifications/unsubscribe-auth/AASOE7GQVPPUKLYHJAPIA33YSFOKXAVCNFSM6AAAAABCZTLE72VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRYGQZDAMRYGE. You are receiving this because you modified the open/close state.Message ID: @.***>

clement911 commented 6 months ago

Yes I believe they follow semver like most libraries. So each major increment is a breaking change. But it doesn't mean that it's hard to upgrade. Just that there is at least one breaking change.

adearriba commented 6 months ago

QQ: How are you guys generating the graphql types?

clement911 commented 6 months ago

At a high level, the code generation of graphql type uses a graphql introspection query to load all types and generate some c# code. It can be triggered by running the test in (after removing the Skip attribute) https://github.com/nozzlegear/ShopifySharp/blob/master/ShopifySharp.Tests/GenerateGraphQLSchema_Test.cs

adearriba commented 6 months ago

Thanks @clement911 I was asking more on which code generator you guys were using for this.

nozzlegear commented 6 months ago

We're using a generator that Clement wrote called Wish.GraphQLSchemaGenerator. He explained it here in #962!