-
Notifications
You must be signed in to change notification settings - Fork 674
RFC: v4 package name #4710
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
Comments
Is the 'chore' of this work mostly for our team or is there pain for the end-user too? |
@calvincestari It's mostly the same amount of work except there are a lot less maintainers than there are users 😅 . So if we were to minimize the global amount of energy needed to do the change, ❤️ (no change) is the best option. Only concern is in the long term it's weird to have this "3" lying around and it might create some confusion. |
I kinda like the |
Closing this now as the first alpha of 4.0.0 is about to be released: we are keeping the |
Additional data point: transitive usages of Apollo Kotlin in maven central artifacts It's ~40 but some of them are internal usages and others are grouped of artifacts so I would say ~10 transitive usages that will break if an app tries to update to v4 before the SDK had a chance to (or updates the SDK without updating itself). As a comparison, guava has 35946 transitive usages so I think/hope we're fine to keep the package name |
Hi everyone, it's me again overthinking this! Some more thoughts while discussing this with @BoD and @LouisCAD this morning:
|
It's me again 👋 . After hours of discussions and brainstorming, we've decided to backtrack and change the package name to This should be the last package name change for the project (famous last words!) and We were thinking of following OkHttp footsteps and keeping We're hoping for a future where tooling makes it easier to change the namespace when breaking change happen but unfortunately, it doesn't look like the ecosystem is ready yet. And the "keep the same package" versioning scheme felt like the safest bet, at least a widely used one today.
|
Question
As we're starting to think about 4.0, there's a question what to do with the current package name (
com.apollographql.apollo3
).For some background, we changed it according to https://jakewharton.com/java-interoperability-policy-for-major-version-updates/ when going from 2.x to 3.x in order to allow having both versions in parallel.
But the 3.x -> 4.x transition is going to be a lot more compatible than the 2.x -> 3.x one and changing all the package names is not the funniest thing in the world. That raises the question whether it's worth the hassle of going through yet another package name change. 4.x will remove some deprecated symbols so there's the risk that older binaries will crash with
NoSuchMethodError
but maybe that's an acceptable risk to take if that saves the vast majority the hassle of changing the package name, Maven group id and Gradle plugin id everywhere?And if we decide to change the package name, maybe it's worth going for something that's less verbose and more future proof like or
com.apollographql.apollo
or justapollographql
?I wish we could do polls in GitHub issues but doesn't look like it's the case so here's a poor man's poll. React to this issue with your favorite emoji (there's no other meaning to them than just the line they're matching with..). Or feel free to comment below!
com.apollographql.apollo3
com.apollographql.apollo4
com.apollographql.apollo
apollographql
The text was updated successfully, but these errors were encountered: