2011-01-28, 18:20
wuench Wrote:If you break third parties there is a real impact, it will take time to update those interfaces and there is now way to support both old and new XBMC versions since there is no common interface that will work. Not all users are on the same version. We need to somehow come up with a way to support both.
I can think of a couple of ways to resolve this. 1.) Release the new changes first and have a period of time where both are supported, then remove the old. 2.) Increment the version on your interface or come up with some other indicator, so that we can determine which version a user is using so we do not break our users.
I know you guys don't get paid (I don't get paid either), and a scheme for backwards compatibility is not the simplest solution. But some third parties are commercial products and need to play by different rules. I would think coming up with some sort of solution would help to spread the use of the JSON interface and XBMC faster.
Sorry but no, we won't be having backwards compability at this point. JSONRPC is still very young and is not considered feature complete. The version in dharma should be considered a pre-release version and when we feel that the overall organization is good we might not change the API to much. So when we feel that the API is good, we might have some form of backwards compability but at this point we have decided not to as the API will still change quite a bit (and as said previously supporting something which is not even jsonrpc 2.0 spec is not a good idea).
Hopefully version 4 will be more ready.
Also, we have the JSONRPC.Version method for something, client gets the version and if its a version it does not support it should warn or error