Release Notes - OASIS Open Data Protocol (OData) TC - Version V4.0_CSD03 - HTML format

Bug

  • [ODATA-466] - Edm.Binary should be base64-encoded (as with OData V3), not base16-encoded (as per current ABNF)
  • [ODATA-469] - Type of Extends attribute in edm.xsd must be TQualifiedName instead of TSimpleIdentifier
  • [ODATA-471] - Property names must also be a valid XML Names (NCName)
  • [ODATA-486] - Missing <Record> wrapper in three examples
  • [ODATA-488] - Restrict values of edm:Bool in edm.xsd to lower-case "true" and "false"
  • [ODATA-496] - Adapt outdated action/function overload resolution rules in Part 1 to current rules in Part 3
  • [ODATA-498] - Error with m:type in Example 31 of Atom
  • [ODATA-499] - 7.1.3 Nullable should refer to NavigationProperty, not Property
  • [ODATA-501] - has operator is missing from the operator precedence table
  • [ODATA-502] - Fix use of hash (#) for category term attribute in Atom
  • [ODATA-503] - Error in ABNF grammar: Edm prefix required for built-in primitive types
  • [ODATA-504] - Comment in line 456 should refer to rule lambdaVariableExpr
  • [ODATA-506] - Rule day does not allow the values 10 and 20
  • [ODATA-507] - Editorial; text appears twice in section 11.2.6 of [Protocol]
  • [ODATA-508] - Delete leftover "respectively" from 6th paragraph of [JSON] Section 5, Service Document
  • [ODATA-509] - 14.1: Superfluous period at end of second sentence
  • [ODATA-510] - Example 78: replace IsBindable with IsBound
  • [ODATA-511] - 13.6 and 13.6.2: "bound" should hyperlink to section 12.2.3 instead of 12.1.3
  • [ODATA-513] - Special handling of derived types in the dynamic expression edm:Record. Why?
  • [ODATA-514] - Example 44: compare Price to a number instead of a string
  • [ODATA-515] - Section 5.1.1.9 Operator Precedence: operators use wrong capitalization in precedence table
  • [ODATA-520] - Instance annotations should be prefixed with "@"
  • [ODATA-523] - How do clients construct links from the context url for complex types?
  • [ODATA-524] - properties in [propertyList] of context URL may be qualified with type
  • [ODATA-525] - Remove Org.OData.Atom vocabulary
  • [ODATA-528] - $entity should require cast segment in order to apply $select/$expand
  • [ODATA-530] - Navigable capability term should apply to entityset, not navigationproperty directly
  • [ODATA-531] - Simplify OptimisticConcurrency in Core vocabulary
  • [ODATA-532] - Clarify whether collections can contain null values
  • [ODATA-534] - Tag type definition in Core should have default boolean value = true
  • [ODATA-542] - Clarify that $selected Actions/Functions are included in [project-list] within a ContextUrl
  • [ODATA-588] - Typo in example 10: query uses MaxAmount, response uses MinAmount
  • [ODATA-701] - Bug in Example 38: terms for LeveledHierarchy and RecursiveHierarchy incorrectly annotated
  • [ODATA-702] - Define the behaviour of system query option $count and path segment /$count in combination with $apply
  • [ODATA-703] - Example 31: wrong description
  • [ODATA-725] - Missing navigation properties in diagram in section 2.2
  • [ODATA-726] - Describe the data model used for example 75
  • [ODATA-727] - Clarify the meaning of annotation values used for hierarchy terms
  • [ODATA-759] - 6.2.3 Custom Aggregates: unprecise formulation
  • [ODATA-829] - Section 7.2, Examples 50: aggregate returns one item even for empty input set

New Feature

  • [ODATA-500] - Require function/action overloads to differ by ordered set of parameter types

Task

  • [ODATA-468] - Define explicit concepts in ABNF for referenced sets of rules

Improvement

  • [ODATA-9] - allow expressions in the $select query option
  • [ODATA-470] - Clarify behavior of /$value requests to properties of type Edm.Binary or Edm.Geo*
  • [ODATA-472] - Explicitly state how dynamic properties are represented if they are not defined on an entity
  • [ODATA-473] - Harmonize description of function overload advertisement in Atom and JSON
  • [ODATA-474] - Add example for POST/PUT/PATCH/DELETE on function result
  • [ODATA-475] - Document that the value "%" is used for annotating percentages with Measures.Unit
  • [ODATA-476] - Clarify that type-cast segments are required for properties of derived types in system query options
  • [ODATA-477] - Clarify that dynamic properties can be used in all system query options
  • [ODATA-478] - Clarify format for values of Content-ID header in $batch parts
  • [ODATA-481] - Annotation/Navigation/Path expressions: allow paths to continue after multi-valued navigation to e.g. drill into complex properties
  • [ODATA-483] - Include all section levels in table of contents, provide anchors for all document sections
  • [ODATA-484] - Remove reference to "fixed-length or variable-length" primitive values
  • [ODATA-485] - Add example for UrlRef expression that contains a literal string that is a URL
  • [ODATA-487] - Clarify where relative URLs follow the rules in section 4.3 and where they follow different rules
  • [ODATA-489] - Clarify wording for OnDelete
  • [ODATA-490] - Clarify Referential Constraints have UpdateRule=Cascade semantics
  • [ODATA-491] - Language-dependency of key property values
  • [ODATA-492] - Add example for „has" operator to section 5.1.1.1.10
  • [ODATA-493] - Capabilities vocabulary: add term for SearchRestrictions
  • [ODATA-495] - Clarify that Edm.Double and Edm.Single are 64-bit and 32-bit IEEE754 floating-point numbers
  • [ODATA-497] - Remove type prefix and single quotes for URL literals of types Date, DateTimeOffset, Guid, and TimeOfDay
  • [ODATA-505] - Remove ReturnType attribute from Action and Function element
  • [ODATA-512] - 14.5.14: add example for specifying a value for a navigation property in a <Record> expression
  • [ODATA-517] - Allow NavigationPropertyPath and PropertyPath expressions to end in annotations of appropriate type
  • [ODATA-518] - Use NavProp@<annotation-name> to reference annotations applied to a NavProp
  • [ODATA-519] - Define server-driven paging for collection-valued resources
  • [ODATA-521] - Remove typed null literals
  • [ODATA-522] - Clarify that the has operator returns null if either operand is null.
  • [ODATA-526] - Allow specifying support for cross-joins
  • [ODATA-527] - Relative URLs in OData and the ability to put OData services behind an HTTP proxy
  • [ODATA-529] - Single-parameter cast() and isof() functions
  • [ODATA-533] - Restrict key property aliases to key properties nested in complex properties
  • [ODATA-535] - Define specialization for terms
  • [ODATA-536] - Treatment of circular references when using $levels
  • [ODATA-537] - Ordering of navigationLink and associationLink annotations in JSON
  • [ODATA-538] - Clarify treatment of odata.type with derived types and odata.context for delta responses for odata.metadata=none
  • [ODATA-539] - Delta response encoding is unnecessarily verbose and change type is missing when odata.metadata=none
  • [ODATA-540] - Explicitly state that the Context URL locates (a specific portion of) the metadata document
  • [ODATA-662] - Allow usage of $apply as "Expand Option" in $expand
  • [ODATA-728] - A recursive hierarchy annotation may also contain a navigation property to the parent node

Sub-task

  • [ODATA-543] - Nullable attribute on collection property should specify whether collection can contain null values

Edit/Copy Release Notes

The text area below allows the project release notes to be edited and copied to another document.