[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [OASIS Issue Tracker] (ODATA-846) Add version 4.01
[ https://issues.oasis-open.org/browse/ODATA-846?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Michael Pizzo updated ODATA-846: -------------------------------- Proposal: 1) Define an OData-Versions annotation that specifies the OData version(s) supported by the service: <Term Name="ODataVersions" Type="Edm.String" AppliesTo="EntityContainer"> <Annotation Term="Core.Description" String="A space-separated list of supported versions of the OData Protocol." /> </Term> 2) For new 4.01 features, we should: a) define behavior/compatibility for 4.0 clients, and b) define vocabularies to test the presence of the new feature 3) The features required for a service to be 4.01 compliant should be minimal beyond 4.0 in order to allow services to incrementally opt into 4.01 Conformance Rules: Compliant 4.01 Services: -MUST return 4.0-compliant JSON payloads with OData-Version=4.0 header for clients specifying OData-MaxVersion=4.0 request header -MUST support 4.0-compliant JSON request payloads with OData-Version=4.0 request header -MAY support 4.01 syntax regardless of version; does not necessitate a change in OData-Version of response -MUST not return new CSDL elements/attributes/values for existing elements/attributes if the client specifies OData-MaxVersion=4.0 -MAY return new CSDL annotations regardless of the version; does not necessitate a change in OData-Version of response -MAY support 4.01 behavior, including returning 4.01 content and payloads, if the client does not specify the OData-MaxVersion=4.0 request header -MUST follow OData semantics for any 4.01 syntax -MUST return 4.0 for the Edmx:Version attribute (we are not defining a new version of Edmx) -SHOULD return the new ODataVersions annotation. MUST include 4.0 if 4.01 is included. Compliant 4.01 Clients: -MUST only send payloads containing 4.01 structure to a service that advertises support for 4.01 or greater -SHOULD use capabilities to determine if a 4.01 feature is supported but MAY attempt syntax (and receive either 501 not implemented or 400 bad request) Areas of the spec that talk about versioning: Part 1: Protocol - Section 5.1 Protocol Versioning - Chapter 12 Security Considerations Part 3: CSDL - Section 3.1.1 Attribute Version - Sections 2.1 and 2.2 XML Namespaces JSON Format - Chapter 21 Security Considerations was: 1) Define an OData-Versions annotation that specifies the OData version(s) supported by the service <Term Name="ODataVersions" Type="Edm.String" AppliesTo="EntityContainer"> <Annotation Term="Core.Description" String="A space-separated list of supported versions of the OData Protocol." /> </Term> 2) For new 4.01 features, we should define vocabularies to test the presence and expected behavior for 4.0 clients. 3) Allow services to incrementally opt into 4.01 Conformance Rules: Compliant 4.01 Services: -MUST return 4.0-compliant JSON payloads with OData-Version=4.0 header for clients specifying OData-MaxVersion=4.0 request header -MUST support 4.0-compliant JSON request payloads with OData-Version=4.0 request header -MAY support 4.01 syntax regardless of version; does not necessitate a change in OData-Version of response -MUST not return new CSDL elements/attributes/values for existing elements/attributes if the client specifies OData-MaxVersion=4.0 -MAY return new CSDL annotations regardless of the version; does not necessitate a change in OData-Version of response -MAY support 4.01 behavior, including returning 4.01 content and payloads, if the client does not specify the OData-MaxVersion=4.0 request header -MUST follow OData semantics for any 4.01 syntax -MUST return 4.0 for the Edmx:Version attribute (we are not defining a new version of Edmx) -SHOULD return the new ODataVersions annotation. MUST include 4.0 if 4.01 is included. Compliant 4.01 Clients: -MUST only send payloads containing 4.01 structure to a service that advertises support for 4.01 or greater -SHOULD use capabilities to determine if a 4.01 feature is supported but MAY attempt syntax (and receive either 501 not implemented or 400 bad request) Areas of the spec that talk about versioning: Part 1: Protocol - Section 5.1 Protocol Versioning - Chapter 12 Security Considerations Part 3: CSDL - Section 3.1.1 Attribute Version - Sections 2.1 and 2.2 XML Namespaces JSON Format - Chapter 21 Security Considerations > Add version 4.01 > ---------------- > > Key: ODATA-846 > URL: https://issues.oasis-open.org/browse/ODATA-846 > Project: OASIS Open Data Protocol (OData) TC > Issue Type: Bug > Components: OData Protocol > Affects Versions: V4.0_ERRATA02 > Reporter: Ralf Handl > Assignee: Michael Pizzo > Fix For: V4.01_WD01 > > > This issue tracks all places that need to reflect the new version number in the prose text. > We will also use this issue to track how we do version negotiation between a 4.0 and a 4.01 client and service. -- This message was sent by Atlassian JIRA (v6.2.2#6258)
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]