We use the ADL LRS for testing purposes. I started to write unit tests to validate a set of functionality and stumbled accross this problem in my 1st test:
var lrs = new RemoteLRS("https://lrs.adlnet.gov/xAPI/", "<username>", "<password>");
AboutLRSResponse about = this._lrs.About(); // throws exception
The problem is that the LRS returns a json containing this list of versions: "version": ["1.0.0", "1.0.1", "1.0.2", "1.0.3"], and the .NET client tries to map each of them to a known hard coded version, although it does not yet "know" the version 1.0.3! (deserialization exception when executing version.Add((TCAPIVersion)item);)
Other related issue: TCAPIVersion.latest() currently returns 1.0.1, although 1.0.2 is in the supported versions list. In my opinion, TCAPIVersion.latest() should return the latest entry in the supported list, and the supported list should or should not include 1.0.2, depending on the state of your implementation.