Pros of any versioning scheme:
- Allows clients to avoid updating when the API changes.
- Reduces the cost of making breaking changes.
Cons of any versioning scheme:
- Requires the code to accumulate more and more "if version < foo"
cases, which must be tested, reviewed for security, and updated as things
in core change.
- Can't entirely prevent breaking things. For example, the introduction
of ContentHandler removed sectioning for Javascript and CSS pages, and
there's no sane way to preserve that in an old API version.
Please expand these lists.