Hi Liz,
Thanks for the quick reply!
I'm afraid this does not do much to alleviate my concerns about versioning. It just doesn't seem workable for us to preemptively update our ROR clients based on somebody watching these forums.
I don't have a lot of expertise around json schemas, but I found a few references to this pitfall around enums:
I tried swapping "x-extensible-enum" for "enum" (as suggested in the first link) in the schema and this worked as expected -- my generated code treats these as strings rather than enums so the data validates. I do appreciate that this is nonstandard, though. Alternatively, would it be possible to make the version a simple string (perhaps with a regex), or include only the major version number? The fact that this will break clients even on point version changes is the part that concerns me the most.
(Also, feel free to tell me that the intended use of the schema is primarily intended for internal validation rather than for use by external clients.)
Cheers,
Adam