A nice look into how to abstract version control using a route mapping. Similar routes can be called but then filters send the user in the right direction.
I had an interesting problem with API versioning. The API behaviour for a given resource was going to change between version 1.x and 1.y, but the controller logic was going to stay the same. Usually when your behaviour changes it's a big enough change that you need a new controller and you can direct the request appropriately