I'm using a piece of commercial software where the server will reject any attempt to connect to it from a newer client. In other words, you can use version 8 of the client to connect to a v10.0 server, but not version 10.1 of the client.
Obviously, this software is what it is. But why would it be designed that way? Why would clients not be backwards compatible? What benefits (if any) does this arrangement have?
This setup just seems very counter-intuitive to me, and I want to try and understand it.
(The software happens to be a database, but I don't think it matters to the question.)