-
Notifications
You must be signed in to change notification settings - Fork 16.4k
Switch Google Ads API version from v13 to v14 #32028
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
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a breaking change. does it not?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This version change doesn't break anything in the methods we use in operators.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't know GoogleAds but this is what I have in mind:
Users who use the hook may be relaying on the default value.
GoogleAdsHook(..).search(...)Before this change it will use v13 after this change it will use v14.
Thus this is a breaking change.
Am I missing something?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey, you are right but in this case we rely on only two methods from Google Ads API:
GoogleAdsServiceClient.searchused byHook.searchandHook.search_proto_plusCustomerServiceClient.list_accessible_customersused inHook.list_accessible_customersAnd in this case behaviour is unchanged from v13 to v14 for those methods.
searchmethod wasn't changed andlist_accessible_customersonly added one output-only field toCustomer(so not breaking), but this is not even visible from the user's side as we only return another field, not the wholeCustomerobject.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah. Totally agree with @ahidalgob -> there are many libraries that have braking changes on their own but they are not breaking the API we are exposing to our users. Surely the users could use some stuff from the google ads client, but technically speaking this is completely outside of our control or influence.
We cannot break something that we are unaware of. If we take it to extreme, then every single change in every single dependency or line of code would be a breaking change (the usual reference to https://www.hyrumslaw.com/.
We will always break something with any change, this is clear, so it really depends on us what we see as "enough breaking" to make it a "Major" bump. What would qualify as a breaking change is changing a promise "our" code malks when publishing what user is supposed to use (i.e. Hooks, Operators, etc. etc. ). We cannot be responsible for "other's" code - as long as other code does not impact "our" code, the change is not really breaking.
Similarly to https://airflow.apache.org/docs/apache-airflow/stable/public-airflow-interface.html - we have https://airflow.apache.org/docs/apache-airflow-providers-google/stable/_api/airflow/providers/google/index.html# - and we do not break any of the API's there.
This one is technically equivalent to a chaning version of external dependency - which we previously agreed to that it is not a breaking chnage on its own.