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

Bug

  • [ODATA-562] - 5.1.1.4.29: cast function is optional for first four rules
  • [ODATA-564] - 5.1.1.4.28: define "assignable"
  • [ODATA-566] - 6.2.4 Attribute Scale: clarify allowed range of Scale values
  • [ODATA-567] - Rule hour does not allow 22
  • [ODATA-568] - ABNF rules for headers list percent-encoded whitespace
  • [ODATA-569] - Allow type-cast segment after function/action call in path expressions
  • [ODATA-578] - Contains example has order of arguments backwards
  • [ODATA-580] - 8.2.4 If-Match should refer to term Core.OptimisticConcurrency
  • [ODATA-604] - Add type cast segment for complex types in rules for $select and $expand
  • [ODATA-605] - Annotation target path syntax insufficient to annotate contained entity sets
  • [ODATA-632] - "Core.OptimisticConcurrencyControl" should be "Core.OptimisticConcurrency"
  • [ODATA-633] - Rule pct-encoded-unescaped unintentionally omits hex pairs starting with 7
  • [ODATA-634] - Specify the behaviour when a non-nullable property with no default value is omitted from a PUT
  • [ODATA-636] - Clarify that complex types and arrays can only be passed to functions through parameter aliases
  • [ODATA-637] - ATOM and JSON formats do not define representation of operation results
  • [ODATA-638] - Clarify Delta responses with Minimal Metadata
  • [ODATA-639] - MetadataService.edmx: Schema annotations have to be represented inline
  • [ODATA-640] - NavigationPropertyBinding cannot be annotated
  • [ODATA-641] - MetadataService.edmx: Property IncludeInServiceDocument is missing for entity type EntitySet
  • [ODATA-642] - $select wording clarification; specify, rather than restrict, set of properties
  • [ODATA-643] - Clarify that PUT must persist all "updatable" properties
  • [ODATA-644] - Example 18 should use "Orders" instead of "Items"
  • [ODATA-645] - Default for PUT/PATCH is not to return data
  • [ODATA-646] - Clarify; returning content from a data modification should be same as GET
  • [ODATA-647] - Define "Edit URL" of primitive property
  • [ODATA-650] - Clarify the use of $format in delta links and next links
  • [ODATA-651] - Chapter 3: Rephrase "An entity can be a member of at most one entity set at any given point in time"
  • [ODATA-660] - Clarify whether or not PATCH can be used to update a primitive property using its edit URL
  • [ODATA-661] - Chapter 15: describe key format for EnumTypeMember in MetadataService
  • [ODATA-663] - Clarify construction rules for calling function in $filter
  • [ODATA-668] - Fix minor editorial issues
  • [ODATA-669] - Clarify that metadataEtag should be supported in minimal metadata
  • [ODATA-671] - The signature of the cast function uses an incorrect return-type.
  • [ODATA-673] - Annotation target path syntax insufficient to annotate contained entity sets
  • [ODATA-676] - Clarify that clients should not validate based on applies to attribute
  • [ODATA-679] - 11.7.1, Example 78: OData-Version and OData-MaxVersion should be 4.0
  • [ODATA-680] - Clarify use of if-match with actions
  • [ODATA-681] - What happens if an alias has the same name as an included namespace?
  • [ODATA-682] - 11.4.1.5 Returning Results from Data Modification Requests - media resources and stream properties
  • [ODATA-683] - Clients should be prepared to deal with new derived types
  • [ODATA-684] - Define what it means for an added property to conflict with an existing dynamic property
  • [ODATA-688] - DELETE requests to raw property values, media resources, and stream properties
  • [ODATA-689] - Deep Insert and Media Entities
  • [ODATA-697] - Define how/where $<content-id> can be used within a changeset
  • [ODATA-698] - Clarify rules around handling of custom query options when building URLs
  • [ODATA-699] - Include Action and Function as targets for Annotations
  • [ODATA-704] - Missing comma in JSON Delta Response example
  • [ODATA-705] - Move example 19 to section 10.9
  • [ODATA-707] - 4.5.3: Type inference for numeric values doesn't work with JSON.parse()
  • [ODATA-708] - Clarify inclusion of @odata.id if key fields are not selected
  • [ODATA-709] - FunctionImport in example 25, 26, 27: parentheses missing
  • [ODATA-710] - Unclear description in chapter 10.14 an 10.15
  • [ODATA-711] - Misleading description of {type-name} in chapter 10
  • [ODATA-712] - In chapter 10 we missed to spell out various Context URL templates.
  • [ODATA-713] - 11.7.3 and 11.7.4: replace "query operation" with "operation"
  • [ODATA-716] - Upsert does not work with OptimisticConcurrency
  • [ODATA-717] - Clarify PATCH/PUT/DELETE Property/$value
  • [ODATA-720] - Fix rule for hasExpr
  • [ODATA-723] - Allow bound functions after stream properties in expressions
  • [ODATA-724] - Example 39: missing comma before "innererror"

Improvement

  • [ODATA-559] - Clarify that Derived types inherit HasStream property
  • [ODATA-565] - 2: Clarify interpretation of path segments and query option values with respect to percent-encoded punctuation
  • [ODATA-570] - Clarify behavior of edm:UrlRef expression
  • [ODATA-586] - Allow 405 Method Not Allowed when attempting to delete a non-nullable value
  • [ODATA-587] - Add example for complex value that is an empty object
  • [ODATA-590] - Leading zeroes in values for $level
  • [ODATA-591] - Part1, examples 36-40: replace "associated" with "related"
  • [ODATA-592] - JSON example 11: "type":"Point" with uppercase P according to GeoJSON spec
  • [ODATA-594] - Discrepancy between ATOM and JSON formats (GML, GeoJson) for Polygon information content
  • [ODATA-597] - Seeking clarification of naming for GeographyCollection with GeoJSON
  • [ODATA-598] - Update JSON RFC reference
  • [ODATA-599] - Let's update the GeoJSON reference
  • [ODATA-600] - Ensure future compatibility by reference to draft-bray-i-json-n (The I-JSON Message Format)
  • [ODATA-602] - Explicitly state what's allowed after /$all
  • [ODATA-603] - Primitive type Edm.Stream: use as type of collection, input parameter, return type, or underlying type of type definition
  • [ODATA-607] - Section 4.5.4: explicitly state that @odata.count can be applied to expanded to-many navigation properties
  • [ODATA-608] - Explicitly state that the path segment /$count can be combined with $search and $filter, and that the calculated count is identical to $count=true
  • [ODATA-609] - Section 11.4.4 Upsert: key values in URL win over key values in request body
  • [ODATA-610] - 11.4.4: Upsert and server-generated keys
  • [ODATA-611] - Explicitly state that the service root URL ends with a forward-slash
  • [ODATA-612] - Consistently use "edit link" and "edit URL"
  • [ODATA-620] - Replace "scalar type" with "primitive type" and "scalar property" with "structural property"
  • [ODATA-621] - Clarify: Specifying an unbound function with overloads in a function import should import all overloads of that function to the entity container
  • [ODATA-622] - Allow comparison of geo types, binary to null.
  • [ODATA-623] - 11.4.3: be more specific on updating key properties
  • [ODATA-624] - Clarify that (clients and) services may include additional format parameters in Content-Type header.
  • [ODATA-625] - Add example for UrlRef in attribute notation
  • [ODATA-635] - Clarify if a PUT request is allowed to change the odata.type of the entity (public comment c201403e00002)
  • [ODATA-652] - Errors in CSDL "16.1 Products and Categories Example" and "15.4 Properties"
  • [ODATA-654] - OData-EntityId is only required for 204 No Content, but client may need it when server doesn't support canonical URLs
  • [ODATA-657] - Clarity needed about if/when Control Information" must be specified in payload sent from client to server
  • [ODATA-670] - Clarify behavior wrt If-Match header on a GET request
  • [ODATA-672] - Clean up definition of TargetPath and description of Target in navigation property binding, action import, and function import
  • [ODATA-675] - Enumeration member values SHOULD be represented using the member name and not the integer member value
  • [ODATA-678] - Clarify delta responses with containment, OnDelete, or referential constraints
  • [ODATA-706] - Substitute references to obsolete RFC2616
  • [ODATA-718] - 5.1.2: Add example for $expand=Items/$count
  • [ODATA-721] - Specify DELETE for a complex property
  • [ODATA-722] - Section 7.1.5: rephrase last sentence

Sub-task

  • [ODATA-685] - Prepare clients in 4.0 to deal with nav property binding on containment
  • [ODATA-686] - Alert clients that odata may be default namespace in future versions of the protocol
  • [ODATA-687] - Prepare clients to deal with type annotations without the leading "#"
  • [ODATA-690] - Alert clients to new symbolic scale value "float"
  • [ODATA-691] - Call out that services may support the use of term names in place of type names
  • [ODATA-692] - Future versions are expected to support referential constraints to complex/nav properties
  • [ODATA-693] - ReturnType should support annotations
  • [ODATA-694] - Dynamic actions/functions in errata
  • [ODATA-695] - Returning 200 in placeof 204 no content
  • [ODATA-700] - Allow Annotations to target propertypath/navpropertypath rooted at entity set

Edit/Copy Release Notes

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