+1 That makes sense. In the go-sdk we've a generator that consumes the listApis output of a ACS release and generates the library - https://github.com/apache/cloudstack-go/tree/main/generate
I suppose for every ACS release, we can update go-sdk with release-specific API list, test it, release and tag it. Even automate this? I would say - no need to vote it unless the SDK is manually changed. Since it is used with the k8s provider or the terraform provider so tags on go-sdk may go in-line with tags/release of these users. Regards. ________________________________ From: Pierre-Luc Dion <pdion...@apache.org> Sent: Friday, August 27, 2021 17:57 To: Rohit Yadav <rohit.ya...@shapeblue.com>; dev <dev@cloudstack.apache.org> Subject: [cloudstack-go] sdk releasing I've messing around with cloudstack-go Did a fix that rohit merged yesturday for hostsservices, but this fix will only work for acs4.15, I'd like to fix it for previous acs version too, but look like the version of the SDK depend on acs version; Example; for the hostservices, the host attribute managementserverid is a UUID in 4.15, but an integer in an older version of xenserver. This breaks the structs,or map, we must have some other similar issue. so I'd like to help on creating a tag or version of the SDK so they would match acs version target, ie: SDK version = v4.15-0; where the last digit would define the sdk version or increase with fixes. Current versioning in use = https://github.com/apache/cloudstack-go/releases The issue I'm expecting to face is if we create a release , let's say v4.15-0 from main branch today, if we want to create v4.14.0, it will not be possible from the main branch because we need to revert the last commit but also fix hostservices. Here are a bunch of questions I have: 1. Should we create a branch for older ACS versions and keep main for latest fixes and future releases ? 2. Do we need to vote for such changes? 3. Does such releases could impact other Go projects that use this one, such as terraform and kubernetes drivers? 4. Should we provide similar versioning on our kubernetes driver?