<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 16, 2016 at 12:17 PM, Sean Dague <span dir="ltr"><<a href="mailto:sean@dague.net" target="_blank">sean@dague.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Honestly, doing per API call version switching is probably going to end<br>
in tears. HTTP is stateless, so it's allowed, but it will end in tears<br>
of complexity as you need to self modify resources before passing them<br>
back. Or follow links that don't exist.<br></blockquote><div><br></div><div>Maybe. But any code that knows it is using a specific version already is handling the special cases. We are trading the speed of implementation for the juggling of multiple versions, no matter if they are labelled sequentially or via semver. I've seen places that mixed Identity v2 and v3 because of the way the APIs worked and were more convenient. Same problem, bigger delta per API rev vs only one rev.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
It's also worth looking at the changes we've actually been making here<br>
instead of theoretical examples. The amount of effort to make an<br>
application use 2.20 instead of 2.1 is pretty minimal.</blockquote><div><br></div><div>Sure, but there is nothing in place to prevent that contrived example. The first time an addition is made of what would have been an extension in the past we will be there. [and no, this is in no way a defense of extensions ;).</div><div><br></div><div><div>If Identity had micro-versioned their way between V2 and v3 would the other projects been able to convert faster due to not having to do it all at once?</div></div><div><br></div><div>dt </div></div><div><br></div>-- <br><div class="gmail_signature"><br>Dean Troyer<br><a href="mailto:dtroyer@gmail.com" target="_blank">dtroyer@gmail.com</a><br></div>
</div></div>