This is a spin-out of a conversation from #859. Capturing it here for future consideration.
@t8y8 suggestion was to could make use_server_version=True the default on a new client instance, vs today where it's false by default:
|
def __init__(self, server_address, use_server_version=False): |
I had asked what impact would that have on existing clients, i.e. would this be a surprising change perhaps with compatibility issues.
Tyler's feedback:
It shouldn't -- if they're upgrading their server already, they could still do so. They can also still manually set it after the fact and it'll override ServerInfo's call.
I don't think there are any calls that stop working outright between 2.3 and 3.X are there?
The version detection logic works all the way back to 9.0, if it's newer than API version 2.4 it will use ServerInfo but otherwise there's a legacy way to detect version.
The only reason we didn't do it originally is because we didn't want to "issue silent HTTP calls" but I think that's a very small price to pay to get people using the latest version.
They can also explicitly set it to False if for some reason they don't want it to fire off.
This is a spin-out of a conversation from #859. Capturing it here for future consideration.
@t8y8 suggestion was to could make
use_server_version=Truethe default on a new client instance, vs today where it's false by default:server-client-python/tableauserverclient/server/server.py
Line 32 in 5cbfc34
I had asked what impact would that have on existing clients, i.e. would this be a surprising change perhaps with compatibility issues.
Tyler's feedback:
It shouldn't -- if they're upgrading their server already, they could still do so. They can also still manually set it after the fact and it'll override ServerInfo's call.
I don't think there are any calls that stop working outright between 2.3 and 3.X are there?
The version detection logic works all the way back to 9.0, if it's newer than API version 2.4 it will use ServerInfo but otherwise there's a legacy way to detect version.
The only reason we didn't do it originally is because we didn't want to "issue silent HTTP calls" but I think that's a very small price to pay to get people using the latest version.
They can also explicitly set it to False if for some reason they don't want it to fire off.