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

Bug

  • [ODATA-546] - Content-Id MUST be unique within Changeset, not within batch
  • [ODATA-606] - Specify navigation property binding combined with containment
  • [ODATA-664] - Consider supporting parameterless function imports with no parens
  • [ODATA-696] - Support "interfaces" for casting entities to multiple different types
  • [ODATA-809] - Define non-message format for final response of async request
  • [ODATA-812] - Allow omitting namespaces for unambiguous functions/actions
  • [ODATA-813] - Allow no metadata for non-OData clients
  • [ODATA-814] - Don't need TargetId in a deleted link for a to 0..1 relationship
  • [ODATA-816] - Add Capability term for filter expression restrictions
  • [ODATA-846] - Add version 4.01
  • [ODATA-855] - Should we define patterns for some of the primitive types
  • [ODATA-856] - Add annotations for Min/Max/Pattern
  • [ODATA-859] - Define term, semantics for inserting error information into a (mostly) successful response
  • [ODATA-876] - Allow services to return contained entities inline for delta responses
  • [ODATA-881] - Add support for Edm.Untyped
  • [ODATA-883] - Validation Vocabulary: add MultipleOf term
  • [ODATA-887] - Should we allow multi-part namespace alias names?
  • [ODATA-888] - Allow $search for all collections
  • [ODATA-894] - Support overwriting property in derived type with a property of a type derived from property in base type
  • [ODATA-895] - Support keyless entities for singletons
  • [ODATA-897] - Allow the count of a filtered/searched collection in common expressions
  • [ODATA-906] - Consider how to specify an included namespace as a default in JSON CSDL
  • [ODATA-921] - Specify operations for keyless nav props
  • [ODATA-922] - Support DELETE/PUT to $ref of a collection-valued nav prop to remove/replace all links
  • [ODATA-924] - Define semantics for PUT against a single entity with nested content
  • [ODATA-926] - OData should not require 202 response to be empty
  • [ODATA-927] - Explicitly disallow existing nested items in Deep Insert
  • [ODATA-933] - Allow using instance annotations in $filter
  • [ODATA-937] - Consider making odata- prefix optional in headers, preference values, format parameters
  • [ODATA-938] - In 4.01 decide if we can support invoking actions with no params with no body
  • [ODATA-940] - Define a validation term for valid values
  • [ODATA-941] - Attempting to modify a property with read-only permissions should fail
  • [ODATA-942] - How should headers applied to a batch affect statements within a batch?
  • [ODATA-948] - Versions of vocabularies and their relation with a version of the specification
  • [ODATA-949] - Clarify the effect Accept-Language header has on a delta response
  • [ODATA-952] - Replace multiple batch capability term with single "BatchSupport" term
  • [ODATA-953] - Consider deprecating structural casting
  • [ODATA-956] - Do we need to add SchemaVersion to ContextURL?
  • [ODATA-957] - Do we impose a format for SchemaVersion?
  • [ODATA-958] - Capabilities: FilterRestrictions and SortRestrictions for navigation properties
  • [ODATA-961] - 10.10 Projected Expanded Entity - be more explicit in combined $select/$expand cases
  • [ODATA-963] - Make query options, built-in functions, and built-in operators case insensitive
  • [ODATA-964] - Need to clarify nested delta representation
  • [ODATA-969] - Chapter 15, Example 32: syntax of "target" URL
  • [ODATA-973] - Should we relax prohibiting Collection(Edm.ComplexType) and Collection(Edm.Untyped)
  • [ODATA-974] - Flesh out recommendations around OAuth support in OData
  • [ODATA-978] - Advertise non-availability of bound actions/functions
  • [ODATA-979] - Recursive containment navigation properties and Partner attribute
  • [ODATA-984] - Make $-prefix optional for system query options
  • [ODATA-985] - The HTTP Specification document referenced in the OData Protocol Spec has been obsoleted
  • [ODATA-986] - Support POST/PATCH/DELETE to cast segment following a collection
  • [ODATA-987] - Allow digits in search phrases
  • [ODATA-988] - Produce lightweight JSON CSDL and separately define Swagger/OAI generation
  • [ODATA-991] - Improve MayImplement by defining a TypeDefinition for qualified name
  • [ODATA-995] - Resolve inconsistencies in JSON streaming property ordering
  • [ODATA-996] - Added/deleted links: "relationship" should be navigation property path
  • [ODATA-997] - Define modulo operator for non-integral numeric values
  • [ODATA-998] - Specify comparable types for comparison operators
  • [ODATA-1004] - Sign of Modulo for positive right operand
  • [ODATA-1006] - Unicode facet for terms, parameters, and return types
  • [ODATA-1012] - Represent nested deltas as an annotation

New Feature

  • [ODATA-763] - Allowing implicit aliasing of parameters (public comment c201412e00001)
  • [ODATA-820] - Allow indexing into collections
  • [ODATA-849] - Add possibility for enumeration types to "extend" another enumeration type
  • [ODATA-850] - Improve document structure for functions used in common expressions
  • [ODATA-874] - Allow Edm.String as underlying type for enumeration types
  • [ODATA-928] - Allow client to use OData-SchemaVersion header to indicate the metadata version it is using
  • [ODATA-976] - Support partial keys
  • [ODATA-1010] - Represent deleted entities similar to added/changed entities

Improvement

  • [ODATA-10] - operator that returns the content of a Stream as either a String or Binary value
  • [ODATA-405] - Deep Updates (public comment c201305e00008)
  • [ODATA-480] - $batch: remove restriction "within the same change set " for Content-ID referencing
  • [ODATA-482] - Allow inlining stream properties and media resources
  • [ODATA-494] - Define inheritance for enumeration types
  • [ODATA-516] - Add super types Edm.AnyPath and Edm.AnyPropertyPath
  • [ODATA-541] - Allow the If-Match header to reference the ETag that resulted from an earlier operation in a batch request
  • [ODATA-545] - Allow applying Capability terms CountRestrictions, TopSupported, SkipSupported etc. to all resources returning collections
  • [ODATA-556] - Add "in" operator as syntactic sugar for a chain of "or" expressions
  • [ODATA-557] - Allow exponential notation for Edm.Decimal
  • [ODATA-560] - Allow arbitrary properties in referential constraints
  • [ODATA-561] - odata.type shouldn't require "#" for primitive types
  • [ODATA-563] - 5.1.1.4.29: Allow casting strings to primitive types if the string contains the literal representation of an instance of the target type
  • [ODATA-571] - Add annotation for properties that are (not) part of the default selection if no $select is specified
  • [ODATA-572] - Clarify that eq, ne can be used with complex type
  • [ODATA-585] - Status response message as carrier for annotations as alternative to 204 No Content
  • [ODATA-613] - Allow PATCH to entity sets using the delta-response format
  • [ODATA-614] - Allow $expand and $select with modifying requests that return a single instance in combination with return=representation to specify the response shape
  • [ODATA-615] - Allow PATCH and DELETE with /$filter=@... on collections to modify or delete all (and only) the matching entities
  • [ODATA-616] - Allow POST to collections of complex and primitive types, and DELETE with $filter
  • [ODATA-617] - Allow eq/ne comparison of instances of same structured (complex or entity) type, allow eq/ne comparison with null for 0..1 nav props
  • [ODATA-618] - Allow using term names in positions that allow type names
  • [ODATA-619] - Attach action and function signatures to terms, i.e. make a term definition an interface definition
  • [ODATA-630] - Consider making odata the default namespace for annotations
  • [ODATA-631] - Allow expressing that a term can be applied any collection and is not restricted to entity sets
  • [ODATA-656] - Requesting clarity on payload ordering constraints for clients
  • [ODATA-666] - Define Deep Update and Deep Upsert operations
  • [ODATA-667] - Add support for NavigationPropertyBindings for contained entities
  • [ODATA-735] - Enhance the CSDL for instance annotations
  • [ODATA-743] - Restructure Part 3: CSDL into CSDL Core, CSDL XML, and CSDL JSON
  • [ODATA-747] - Allow IEEE 754 constants [-]INF and NaN also for Edm.Decimal
  • [ODATA-757] - Add an OData specific header If-Metadata-Match
  • [ODATA-786] - Extend definition of edm:Path expression
  • [ODATA-798] - Semantic Key or Alternate Key for entity types
  • [ODATA-799] - Define Key-As-Segment URL convention for resource paths
  • [ODATA-804] - If we allow Edm.Decimal to be used with IEEE decimal floating point, will we then support NaNn and +/-Infinity?
  • [ODATA-811] - Define propagation and overriding of annotations
  • [ODATA-818] - Omit properties whose value is null or the $metadata-defined default value
  • [ODATA-824] - Header Content-Transfer-Encoding not used in HTTP
  • [ODATA-827] - introduce $compute query option
  • [ODATA-834] - Make type prefix optional for enumeration and duration literals in URLs
  • [ODATA-838] - Allow inclusion of "untyped JSON" into JSON requests and responses
  • [ODATA-867] - Remove header Content-Transfer-Encoding, not used in HTTP
  • [ODATA-873] - Define ContentID annotation for deep inserted entities
  • [ODATA-901] - substring: Define negative index for substring function
  • [ODATA-918] - Add operator "divby" that always results in a decimal.
  • [ODATA-925] - Define Core term for service/schema/model version
  • [ODATA-929] - Nullable facet should default to false for collection types, rather than being unspecified
  • [ODATA-935] - Allow singletons to be members of an entity set
  • [ODATA-951] - 4.5: Explicitly state that Edm.EntityType cannot be used as the type of a containment navigation property
  • [ODATA-959] - Allow path in an edm:key to also use a primitive property of a non null-able navigation property (recursively) of the entity type.
  • [ODATA-960] - Absolute paths in annotations, e.g. capabilities depending on properties of a singleton
  • [ODATA-965] - UpdateGeoJSON Reference to RFC7946
  • [ODATA-966] - 13.4 Add example for navigation property bindings for containment navigation property
  • [ODATA-970] - 11.5.2: also mention advertising operations on collections
  • [ODATA-980] - SchemaVersion header, $SchemaVersion query option, or root URL versioning
  • [ODATA-981] - ETag Header: Clarify meaning of "individual resource".
  • [ODATA-982] - Chapter 11: Annotations on properties in single-property messages
  • [ODATA-983] - Chapter 15/16: advertise actions on collection-valued properties
  • [ODATA-989] - 5.1.2 $expand: state that $levels=1 is equivalent to omitting it
  • [ODATA-992] - Numeric enumerations should use AllowedValues
  • [ODATA-993] - 14.2: Explicitly allow annotations on deleted entities
  • [ODATA-1001] - Clarify that lambda expression, 'any' and 'all', can be applied to collections of all types.
  • [ODATA-1007] - Consider how to handle namespace conflicts in JSON CSDL format
  • [ODATA-1009] - Clarify context url of delta responses for containment navigation properties
  • [ODATA-1044] - Require aliases for schemas and require alias-qualified names
  • [ODATA-1047] - Rename $IsCollection to $Collection

Sub-task

  • [ODATA-863] - Represent Terms similar to Types
  • [ODATA-954] - Key-As-Segment for multi-part keys

Edit/Copy Release Notes

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