-
Notifications
You must be signed in to change notification settings - Fork 14.7k
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
Switch Google Ads API version from v13 to v14 #32028
Conversation
New API version was release in June.
Probably a bit late for this release @eladkal -> but in case we got RC2 or smth, we might want this one in. |
@@ -73,7 +73,7 @@ class GoogleAdsHook(BaseHook): | |||
:return: list of Google Ads Row object(s) | |||
""" | |||
|
|||
default_api_version = "v13" | |||
default_api_version = "v14" |
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.search
used byHook.search
andHook.search_proto_plus
-
CustomerServiceClient.list_accessible_customers
used inHook.list_accessible_customers
And in this case behaviour is unchanged from v13 to v14 for those methods. search
method wasn't changed and list_accessible_customers
only added one output-only field to Customer
(so not breaking), but this is not even visible from the user's side as we only return another field, not the whole Customer
object.
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.
New API version was release in June. Co-authored-by: Cloud Composer Team <[email protected]>
New API version v14 was released on 2023-06-07.
https://developers.google.com/google-ads/api/docs/release-notes#v14