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

Bug

  • [ODATA-868] - Describe HTTP encoding for streamed requests and responses
  • [ODATA-1005] - Make sure we have capabilities for all new 4.01 functionality
  • [ODATA-1088] - Clarify effect of applying an Annotation to an element
  • [ODATA-1119] - Add CollectionPropertyRestrictions capability term
  • [ODATA-1120] - Put entity set restrictions on NavigationPropertyDescriptions
  • [ODATA-1145] - Align Authorization vocabulary with OpenAPI V3
  • [ODATA-1146] - Clarify that an enumeration type must have at least one member
  • [ODATA-1148] - PATCH with nested nav props should not remove omitted resources
  • [ODATA-1149] - Support Delta responses for Singletons
  • [ODATA-1150] - Case Sensitivity of Property Names, EntitySets, Singletons and Operations
  • [ODATA-1152] - Align Prefer header rule with RFC7240: optional whitespace around commas
  • [ODATA-1155] - ABNF: allow omitting default namespaces everywhere in the URL
  • [ODATA-1156] - Context URL: allow empty parentheses after navigation property
  • [ODATA-1164] - List of use cases for canonical functions is incomplete
  • [ODATA-1168] - Clarify the use of ETags for Avoiding Update Conflicts
  • [ODATA-1171] - Consider using matrix parameters for filter segments
  • [ODATA-1172] - 4.5.3: use $schemaversion query option instead of SchemaVersion header
  • [ODATA-1173] - 14.4.11: Description of Null
  • [ODATA-1174] - JSON CSDL should not require nullable attribute for collections
  • [ODATA-1183] - Allow Singletons to be null
  • [ODATA-1187] - No way to bind nav prop on recursively nested (contained or complex) type
  • [ODATA-1191] - Make sure that all model elements are annotatable
  • [ODATA-1192] - Capabilities vocabulary: invalid DefaultValue for KeyAsSegmentSupported
  • [ODATA-1193] - Automated vocabulary checks indicate some potential issues
  • [ODATA-1195] - 11.2.6.6: value of $search is search expression, not boolean expression
  • [ODATA-1196] - Clarify update of media streams
  • [ODATA-1204] - Vocabularies Document references OData Version 4.01. Part 3: Common Schema Definition Language (CSDL)
  • [ODATA-1213] - Address use of 201 Created for Create Link Requests
  • [ODATA-1217] - Clients should read symbolic values in CSDL case-insensitive
  • [ODATA-1220] - Instance annotations section only refers to the XML CSDL, not JSON CSDL
  • [ODATA-1232] - Support Union types
  • [ODATA-1234] - Allow relative URLs in headers
  • [ODATA-1236] - What should be returned for inserted non-entity value?
  • [ODATA-1238] - Clarifications for select-list in ContextUrl
  • [ODATA-1242] - Clarify that resolved relative URIs in batch responses cannot contain content-ID references
  • [ODATA-1247] - DerivedTypeConstraint should apply to entityset, singleton, navigation properties, parameters, and action/function returns
  • [ODATA-1249] - edm.xsd: ActionImport and IncludeInServiceDocument
  • [ODATA-1251] - Should annotated null/default values be omitted/restored?
  • [ODATA-1252] - TypeDefinition should allow Edm.Primitive as underlying type
  • [ODATA-1254] - Can the default set of properties change over time?
  • [ODATA-1257] - Do URLs within a Batch Request need to be URL Encoded?
  • [ODATA-1258] - Should we allow arrays of primitive in term definitions?
  • [ODATA-1263] - Requirement for 204 (No Content) with 11.4.3 "Update an Entity" is not backwards compatible
  • [ODATA-1265] - Clarify property paths used in a lambda predicate expression
  • [ODATA-1267] - URL Conventions example in 5.1.1.5.1 has "bad" whitespace
  • [ODATA-1274] - Clarify that a server MUST respond with content-id annotations and MUST include nested entity IDs
  • [ODATA-1286] - What is the meaning of year 0, and negative years
  • [ODATA-1290] - Can an etag value of "*" be used in If-Match to force update?
  • [ODATA-1293] - Clarify use of etags for optimistic concurrency versus conditional fetch
  • [ODATA-1302] - Support PUT to replace a collection of entities
  • [ODATA-1303] - Clarify whether schemas traversed in path expressions must be in scope
  • [ODATA-1312] - Add $compute to supported $select query options
  • [ODATA-1315] - Introduce CollectionAnnotation control information for JSON
  • [ODATA-1316] - Should support multiple permissions for read/write
  • [ODATA-1318] - Fix issues with Capabilities vocabulary
  • [ODATA-1324] - Incorrect text about mediaEditLink control information
  • [ODATA-1328] - Simplify query rules by removing $expand select option
  • [ODATA-1334] - Mismatch in ModificationException term naming
  • [ODATA-1335] - ABNF Does not allow selecting instance annotations
  • [ODATA-1337] - Clarify use of @Core.ContentId in delta update

New Feature

  • [ODATA-1064] - Add ability to annotate collections to return only count and NextLink
  • [ODATA-1143] - Extend the Property metatype to allow a type that is an EntityType.
  • [ODATA-1163] - A Case for Common Expressions
  • [ODATA-1177] - Embed "JSON properties" in OData JSON requests and responses
  • [ODATA-1212] - Validation term for allowed terms in Annotation Paths
  • [ODATA-1228] - Support non-batch mechanism for long URLs
  • [ODATA-1229] - Introduce LocalDateTime TypeDef to apply to string datatype
  • [ODATA-1237] - How to specify static result entity set for bound actions/functions?
  • [ODATA-1240] - Chapter 2: wrong description of how to split URLs into syntax components
  • [ODATA-1241] - Support common expressions as values in URL-JSON
  • [ODATA-1243] - Clarify whether $orderby and string comparison with ge, gt, le, lt is language-specific
  • [ODATA-1271] - Define a validation term for terms applicable in a given context
  • [ODATA-1288] - Precisely specify the format of the Error Response
  • [ODATA-1322] - Add odata. prefix to omit-values preference

Improvement

  • [ODATA-1114] - If-Then-Else in $batch requests
  • [ODATA-1121] - Add FilterExpressionType values "MultiRange" and "MultiRangeOrSearchExpression"
  • [ODATA-1132] - Propagation of NavigationRestrictions
  • [ODATA-1135] - Document use of JSON Schema $schema
  • [ODATA-1141] - Upsert: clarify upsert along nullable single-valued navigation path
  • [ODATA-1144] - Allow percent-encoded colon in time values in URLs
  • [ODATA-1147] - Annotate a function or action as "availability is advertised per instance"
  • [ODATA-1151] - Edm.Stream and Nullable
  • [ODATA-1154] - Clarify which OData-Version a service should return
  • [ODATA-1165] - Describe $compute, $expand, and $select via prose text and examples, remove ABNF snippets
  • [ODATA-1166] - Update JSON references to RFC8259
  • [ODATA-1170] - Allow @odata.type for isomorphy to CSDL XML
  • [ODATA-1175] - Capabilities: allow UpdateRestrictions also for singletons
  • [ODATA-1176] - Capabilities: add new term SelectSupport
  • [ODATA-1178] - External targeting for action/function overloads
  • [ODATA-1180] - Cast between enumeration types and integer types
  • [ODATA-1181] - Clarify $expand=NavSingle/$count and $expand=*/$count
  • [ODATA-1188] - Allow using instance annotations in $select and $expand
  • [ODATA-1189] - Conformance: Nullable for collections
  • [ODATA-1190] - Add matchesPattern as a $filter function
  • [ODATA-1194] - Add term Core.Example to allow including annotation examples in term definitions
  • [ODATA-1197] - Chapter 21 Error Response: replace misleading "code" values with FOO or BAR
  • [ODATA-1198] - ETag handling deviations from RFC7232 are avoidable if we consider two kinds of ETag (ETag in response header and ETag in response payload)
  • [ODATA-1202] - Deep update with nested delta items should allow Core.ContentID
  • [ODATA-1203] - Allow numeric indexes in Path constructs within annotations
  • [ODATA-1207] - Clarify need for @odata.id in nested response structures
  • [ODATA-1208] - Specify the finest possible granularity for Duration
  • [ODATA-1210] - CSDL ReturnType element needs to specify rules for Nullable and Collection with entity types
  • [ODATA-1219] - Be more explicit about the purpose of $DefaultValue in a Term definition
  • [ODATA-1221] - Apply, as much as possible, our JSON Format to our annotations as well
  • [ODATA-1223] - Add OData- prefix back to EntityId header
  • [ODATA-1224] - Make [OData-]EntityId header optional if the same as Location header
  • [ODATA-1226] - Ambiguity with Capabilities.ChangeTracking annotation
  • [ODATA-1230] - /$filter(...) segments in paths and expressions
  • [ODATA-1231] - Remove $Kind for entity container children
  • [ODATA-1245] - Extract expression syntax into own sub-section next to $filter
  • [ODATA-1248] - csdl.schema.json: add descriptions to all schema elements
  • [ODATA-1250] - GeoJSON, SRID, and LineString
  • [ODATA-1259] - Clarify @type (@odata.type) and metadata=full
  • [ODATA-1260] - Clarify read-write access via URLs differing from the canonical/read/edit URL
  • [ODATA-1266] - Geo literals with three dimensions
  • [ODATA-1268] - Clarify meaning of Nullable for collection-valued structural properties
  • [ODATA-1270] - 14.4.11: rephrase prose text for dynamic expression Null
  • [ODATA-1272] - Highlight implications of derived complex types to their annotations
  • [ODATA-1276] - Explicitly allow the minus sign / dash in a search term
  • [ODATA-1277] - null and empty paths in Annotation Path, Property Path, Navigation Property Path
  • [ODATA-1278] - Deleted Entity: @odata.removed possible in addition to @removed?
  • [ODATA-1280] - Clarify insert entity defined only by key properties of related entities
  • [ODATA-1282] - How to set the mediaReadLink and mediaEditLink of a stream property
  • [ODATA-1283] - $search: ABNF comment is more restrictive than prose text
  • [ODATA-1284] - Allow referencing properties of "outer" entity in expressions nested within $expand
  • [ODATA-1291] - ETags for Collections
  • [ODATA-1292] - CSDL 7.2.1 Nullable: improve wording
  • [ODATA-1294] - Explicitly state what is returned on create and update
  • [ODATA-1295] - Clarify whether new annotation target syntax requires Version=4.01
  • [ODATA-1296] - Allow all non-whitespace characters in a search word, and allow unbalanced quotes and parentheses
  • [ODATA-1297] - JSON Batch: clarify values of body property, context URL, batch in batch, continue-on-error
  • [ODATA-1298] - Clarify creation choreography for media entities, recommend stream properties
  • [ODATA-1299] - Continue-on-Error for Collection requests
  • [ODATA-1305] - Clarify ranges of minute, hour, and second functions
  • [ODATA-1306] - Align conformance clauses with normative text
  • [ODATA-1310] - "Long" numbers in response payloads without IEEE754Compatible=true
  • [ODATA-1311] - Edm.AnyPropertyPath: no corresponding path expression
  • [ODATA-1313] - Simplify $batch atomicity group processing
  • [ODATA-1319] - Clarify format parameter IEEE754Compatible with requests
  • [ODATA-1320] - edm.xsd: attribute edm:Annotations/@Target does not cover all allowed targets
  • [ODATA-1321] - Prefer:respond-async on individual requests within a batch request
  • [ODATA-1325] - Explicitly state server behaviour when a client uses $select/$expand for an update response
  • [ODATA-1329] - JSON Batch: explicitly state that continue-on-error=true is the default
  • [ODATA-1330] - JSON Batch: explicitly state that continue-on-error=true is the default
  • [ODATA-1331] - Override entity set when extending an entity container (public comment)
  • [ODATA-1339] - Make examples 8 (entity type) and 86 (record expression) consistent

Sub-task

  • [ODATA-1211] - 4.2 and 5.1: Explicitly state that an alias MUST NOT be identical to any other alias or namespace in the same document.
  • [ODATA-1216] - Terms for POST/PATCH/PUT with system query options to shape response
  • [ODATA-1233] - Add (but don't support) ANSI/ISO isolation levels to registered Isolation header
  • [ODATA-1281] - Clarify: interpretation of omitted optional function parameters
  • [ODATA-1301] - Can nullable singletons be deleted or created?
  • [ODATA-1309] - JSON Batch: clarify "Textual media types" and their string representation
  • [ODATA-1314] - odata.mediaContentType control information for embedded stream properties

Edit/Copy Release Notes

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