Come up with uniform versioning scheme for methods
MicahZoltu opened this issue · comments
Micah Zoltu commented
There are several possibilities here:
- add version parameter to the end - I think this is mostly backward compatible, if it isn't added just assume v1
- add version parameter at beginning - not backwards compatible, benefit is ???
- all methods accept 1 object with version as top-level value then args - ???
- add new method for backwards incompatible changes - similar to engine api
- new method which says which version the api is and move the entire api forward with new version updates
- ??? probably a lot more possibilities that haven't been thought through
Originally posted by @lightclient in #383 (comment)
Micah Zoltu commented
I am partial to (1) or (2). I like (2) long term as it in theory allows for partial JSON parsing to deduce version prior to fully parsing the payload, but I agree that (1) allows us to retroactively add versioning to all existing methods which is really compelling.