when you build a RESTful API, you should never break existing client code. Really, never. You don’t deprecate. You find a way to support that old client.
How feasible is this in the real world? What about retiring old versions / features that are no longer supported? Or bug-fixes / security patches that require breaking changes that invalidate the original version?