Bug
- [ODATA-367] - Explicitly state that server MAY expand results beyond what's requested with $expand
- [ODATA-368] - Deep insert: if server responds with 201 Created it MUST respond with at least the expansion depth of the insert operation
- [ODATA-369] - POST to navigation link with binding information leading to a different "parent" is invalid
- [ODATA-370] - Disallow Nullable facet for collection-valued properties
- [ODATA-376] - Navigation link representation for navigation properties of complex type instances
- [ODATA-377] - Fix broken links in CSD01 documents
- [ODATA-378] - Support relative IRIs for ids in JSON
- [ODATA-381] - Hanging paragraphs - all current csprd01 documents
- [ODATA-382] - Conformance clauses need to refer to sections defining aspects of conformance and do so uniformly
- [ODATA-383] - Number all examples in all documents
- [ODATA-384] - Normative text needs to be typographically distinct from examples
- [ODATA-388] - Remove "when" from OData-specific items in delta responses
- [ODATA-389] - JSON: use odata.kind values "Entity" and "deletedEntity", Atom: use metadata:link and metadata:deleted-link
- [ODATA-390] - Additional description of use of GeoJSON in OData JSON.
- [ODATA-396] - Partner attribute of edm:NavigationProperty is a property path, not a SimpleIdentifier
- [ODATA-408] - 11.2.3 OData services MAY/SHOULD/MUST expose their data model
- [ODATA-409] - 11.3.3.1 conflicts with conformance for intermediate and advanced OData
- [ODATA-413] - Replace conformance clauses in URL and CSDL with references to Protocol
- [ODATA-414] - Fix syntax for deleting links to support containment
- [ODATA-415] - Use of "MUST," "MAY," "SHOULD," etc in Part 3 CSDL definitions
- [ODATA-417] - Define content negotiation and default format for paths ending in /$value, /$count, /$metadata and /$batch
- [ODATA-418] - EntitySet attribute or NavigationPropertyBinding child elements for Named Entities (edm:Entity)
- [ODATA-419] - Specify ETag handling more precisely
- [ODATA-420] - Response codes 404 and 405: MUST instead of SHOULD
- [ODATA-425] - Clarify rules around parameter overloads and return types
- [ODATA-426] - Metadata URL for nested objects can be relative to metadata URL of enclosing object
- [ODATA-427] - Consider Providing More Information For Changed Links In a Delta Response
- [ODATA-428] - Introduce dynamic expression AnnotationPath and accompanying abstract type Edm.AnnotationPath
- [ODATA-429] - Add Boolean property RequiresFilter to Capabilities.FilterRestrictionsType
- [ODATA-433] - Rollback requirement that services support $expand
- [ODATA-434] - Introduce path segment for cross-joins on entity-container level
- [ODATA-436] - Allow annotating edm:Annotation element, disallow annotating edm:Collection element
- [ODATA-437] - Describe path syntax for edm:Annotations/@Target
- [ODATA-439] - Complete Context URL patterns
- [ODATA-440] - Specify response for function or action that returns a single null value
- [ODATA-441] - Specify canonical form of entity-id
- [ODATA-443] - Last page of delta response MUST contain a delta link
- [ODATA-444] - Representation of entity references
- [ODATA-448] - Add Nullable facet to edm:ReturnType
- [ODATA-450] - ordering of association link , navigation link, expanded nav prop
- [ODATA-452] - Services should be allowed to filter changes based on selected fields
- [ODATA-453] - deal with KEY function
- [ODATA-454] - Need a way to specify a property is unavailable
- [ODATA-456] - Don't require client to specify odata.trackchanges preference on each page
- [ODATA-457] - Require hash (#) on odata.type
- [ODATA-458] - odata.isolation should be a header rather than an expectation
- [ODATA-463] - Deleted-entry, link, and deleted-link should include {entity-set} in context URL
- [ODATA-464] - Disallows $format for delta and next links
- [ODATA-577] - Do we need a way to distinguish between properties that are omitted due to being aggregated away versus those that don't apply (i.e., in a concatenated result)?
- [ODATA-583] - Clarify intentions around implied ordering of input set to aggregation transformations
- [ODATA-872] - Consider defining structure of bound actions/functions
- [ODATA-902] - 4.5.2: make "annotations" a hash-map with the target as key
- [ODATA-910] - Consider format that is tailored for programmatic access (public comment c201602e00002)
- [ODATA-911] - Miscellanous feedback (public comment c201602e00003)
- [ODATA-914] - Comments from OASIS Technical Advisory Board (TAB)
- [ODATA-1079] - Several issues with latest standard vocabularies
- [ODATA-1119] - Add CollectionPropertyRestrictions capability term
- [ODATA-1120] - Put entity set restrictions on NavigationPropertyDescriptions
- [ODATA-1122] - Add singletons for capability term targets
- [ODATA-1134] - Add KeyAsSegmentSupported annotation term to Capabilities vocabulary
New Feature
- [ODATA-165] - Support Cross-joins
- [ODATA-295] - Services should be able to "advertise" what form of change tracking they support
- [ODATA-374] - Returning heterogeneous types for a function call
- [ODATA-403] - Mechanism to advertise conformance level of OData services
- [ODATA-907] - Consider Swagger for describing OData metadata in JSON format (public comment c201602e00000)
- [ODATA-1069] - New term Core.OperationAvailable
- [ODATA-1082] - Add term Constraint to Validation vocabulary
- [ODATA-1099] - Add annotations to describe custom query options and custom headers
- [ODATA-1112] - Default page size for server-driven paging
- [ODATA-1287] - Annotate a property as "cannot be specified on insert, can be updated later"
- [ODATA-1463] - Align wording on "safe" and "idempotent" with RFC 7231
Improvement
- [ODATA-152] - JSON: Add examples for all request and response types using a consistent sample OData service
- [ODATA-289] - Callback for notification after async invocation of Create, Update, Delete and Service Operations
- [ODATA-294] - Clarifications needed for Filter System Query Option: Operators and Functions
- [ODATA-301] - Guidance around data authorization model and secure authenticated access to an OData Service
- [ODATA-317] - Allow multiple reads in the same transaction
- [ODATA-346] - Order of child elements of <edm:Collection> MUST be preserved
- [ODATA-351] - Define ID, ReadLink and EditLink in Part 1: Protocol, define representation in Atom and JSON
- [ODATA-364] - Explicitly state that the restriction that a property MUST NOT have the same name as its containing type only applies to directly declared properties
- [ODATA-365] - Rename edm:AssertType to edm:Cast and clarify behavior of edm:Cast and cast()
- [ODATA-366] - Clarify whether server-generated properties can be omitted in POST, even if they are not nullable
- [ODATA-371] - Clearly describe behavior of PUT for structural and navigation properties
- [ODATA-373] - Add boolean expressions that can be used in <edm:If>
- [ODATA-375] - Allow querying collections of complex type instances similar to querying collections of entities
- [ODATA-379] - Ensure consistency and clear description in specification of $count for 'Delta Responses' (public comment c201305e00000)
- [ODATA-380] - Insert a section in protocol (and similar in JSON and ATOM) named 'Security Considerations' (before 'Conformance')
- [ODATA-385] - Overview wording suggestion
- [ODATA-386] - odata-v4.0-csprd01-part1-protocol, 3 Data Model, appears to be an unnumbered list of definitions, with annotations defined in a separate subsection - suggest new format, etc.
- [ODATA-387] - Replace (at least) the second example in Section 13 of the CSDL document (public comment c201305e00002)
- [ODATA-391] - Add query function isdefined(PropertyPath) to determine whether an instance has a property of that name
- [ODATA-392] - Expanded Navigation Properties should be implicitly added to $select
- [ODATA-395] - Simplify rule for implicit values of enumeration members
- [ODATA-397] - Lazy loading of Annotations: Add optional Attribute "TargetNamespace" to edmx:IncludeAnnotations element
- [ODATA-398] - Define canonical function as a path segment that allows retrieving an entity by its id
- [ODATA-399] - Describe expected life cycle management of next-links inside 11.2.4.7 Server-Driven Paging
- [ODATA-400] - Allow JSON values also in common expressions, not only in parameter aliases
- [ODATA-401] - Replace "substringof" canonical function with "contains"
- [ODATA-402] - Require services to support $expand on navigation properties
- [ODATA-404] - Make Capabilities vocabulary a part of OData 4.0
- [ODATA-406] - Attribute ContainsTarget (public comment c201305e00009)
- [ODATA-407] - Navigation Properties in Complex Types (public comment c201305e00012)
- [ODATA-410] - Consider moving terms OptimisticConcurrencyControl and AcceptableMediaTypes from Core to Capabilities
- [ODATA-411] - Reconsider placement and semantics of OnDelete element
- [ODATA-412] - Consistent representation of empty values
- [ODATA-421] - Remove odata.kind from JSON and add metadata URL templates for link, deletedLink, and deletedEntity
- [ODATA-422] - Add metadata URL to representations of entity references, define format for collections of references
- [ODATA-423] - Rename edm:Entity to edm:Singleton
- [ODATA-430] - Add term Core.ResourcePath to describe unconventional resource paths in CSDL
- [ODATA-431] - Add $expand=*, $expand=*/$ref, $expand=*($levels=...) for expanding all navigation properties
- [ODATA-435] - Simplify URL syntax and CSDL by restricting services to exactly one entity container
- [ODATA-438] - Rename edm:Url to edm:UrlRef
- [ODATA-442] - Adapt metadata service
- [ODATA-445] - odata.type relative to odata.type in surrounding entities
- [ODATA-446] - Rename Named Stream to Stream Property
- [ODATA-447] - Rename Metadata URL to Context
- [ODATA-449] - Clarify restrictions for action/function overloads, rename IsBindable to IsBound
- [ODATA-451] - Provide section that clearly indicates what system query options are allowed on the various combinations of URL type and HTTP method (public comment c201306e00012)
- [ODATA-455] - Make EntityContainer a Singleton in MetadataService
- [ODATA-459] - State consequences of using IRIs that are not URLs
- [ODATA-460] - Add terms to capability vocabulary
- [ODATA-465] - Explicitly mention that complex type instances can have stream properties (public comment c201307e00000)
- [ODATA-574] - Rationalize Aggregatable Properties, Dynamic Aggregates, and floating aggregates
- [ODATA-575] - Rationalize vocabulary and other editorial changes
- [ODATA-576] - Aggregation: Can we find a better way to represent nested expands?
- [ODATA-581] - Remove parameterless aggregate() transformation
- [ODATA-582] - Simplify custom aggregate term
- [ODATA-584] - Change the name of the "AllPropertiesSupported" property of the "ApplySupported" term to something more meaningful
- [ODATA-844] - Provide JSON versions of the Core, Capabilities, Measures, and Aggregation vocabularies
- [ODATA-889] - Make edm.json a stand-alone schema
- [ODATA-890] - Specify how to get from a JSON message to a JSON schema for validating this message
- [ODATA-925] - Define Core term for service/schema/model version
- [ODATA-1031] - Define term for links to related information
- [ODATA-1055] - DeepInsertSupport: allow applying to entity sets and collection-valued navigation properties
- [ODATA-1098] - xxxRestrictions can be applied more broadly
- [ODATA-1124] - Authorization vocabulary: KeyLocation - also allow cookie as value?
- [ODATA-1153] - Core.Immutable: clarify that value can be provided *by client* in insert
Sub-task
- [ODATA-393] - Allow querying collections of primitive type instances similar to other collections
- [ODATA-394] - Introduce path segment /$all for search on service and entity container level
- [ODATA-863] - Represent Terms similar to Types
- [ODATA-1285] - Add ReadByKeyRestrictions similar to ReadRestrictions
Edit/Copy Release Notes
The text area below allows the project release notes to be edited and copied to another document.