Page 1 of 1

API Backwards Compatibility

Posted: Mon Sep 29, 2014 2:30 pm
by goran.a
Hello,

I'm sorry if this is a double post, but I didn't see what happened to the first one.

Is VaultClientIntegrationLib backward compatible (like if I use 7.2.1 will it be backward compatible with 6x or previous)?

If not, then I guess I will have to build it using previous versions of VaultClientIntegrationLib for each versions? Where can I download older versions?

Thanks,
Goran.

Re: API Backwards Compatibility

Posted: Tue Sep 30, 2014 3:54 pm
by Beth
The API is not backwards compatible. A Vault 7 API must connect to a Vault 7 server and a Vault 6 API must connect to a Vault 6 server. Previous versions are found here: http://www.sourcegear.com/vault/downloads2.html. Make sure you watch whether you're getting Vault Professional or Vault Standard and they don't mix/match.

Re: API Backwards Compatibility

Posted: Fri Oct 03, 2014 8:54 pm
by goran.a
Beth wrote:The API is not backwards compatible. A Vault 7 API must connect to a Vault 7 server and a Vault 6 API must connect to a Vault 6 server. Previous versions are found here: http://www.sourcegear.com/vault/downloads2.html. Make sure you watch whether you're getting Vault Professional or Vault Standard and they don't mix/match.
Thanks a lot for your answers!

One more question: I've checked Pro and Standard versions side by side and as far as I can see, the Classes, methods signatures, fields, properties are completely identical. Is this true?

Since I would have to support Pro and Standard, I was wondering if it would be possible to load Client API dynamically (i.e. using reflection and Activator - depending if I want to connect to Pro or Standard vault server) and the code in my wrapper would be the same for both versions. Does this seems doable?

Thanks.

Re: API Backwards Compatibility

Posted: Fri Oct 24, 2014 2:11 pm
by Beth
It should be OK. We haven't tested out here though.

What you might do is create an abstraction layer (interface) that supports both editions of Vault, and then dynamically load the correct interface based on the client connection.