There are many differences between the two versions. For example, OData v3 adds support for actions, functions, collection values, navigation properties for derived types, and stream properties. It also introduces a completely new serialization format for JSON ("application / json" means completely different things in two versions).
When an OData client makes a request to the server, it can (and should) specify the maximum protocol version that it can understand through the MaxDataServiceVersion HTTP header. A client written just to understand the v2 protocol will not be able to understand the v3 payload.
I donโt think I would call v2 โlegacyโ or unsupported, but individual servers can choose to support or not support requests that can only be understood before v2 (or v1). I think many existing clients support both v2 and v3. I know that WCF Data Services clients (desktop, Windows phone, Windows storage, and Silverlight) support both.
Jen s
source share