We are happy to announce that the ODL 6.3.0 is released and available on nuget along with the source code oncodeplex (please read the git history for the v6.3.0 code info and allprevious version). Detailed release notes are listed below.

Bug Fix

  • Fix a bug for serializing floating-point values to NaN, INF, and -INF.

New Features

  • EdmLib & ODataLib now supports model reference

  ODataLib now supports referencing external CSDL document by using the edmx:Reference element, or specifies the schemas and annotations to include from the target document using the edmx:Include and edmx:IncludeAnnotations element, The scope of a CSDL document is now the document itself and all schemas included from directly referenced documents

 

  • ODataLib now supports reading and writing delta response

      ODataLib now supports the client to request the service track changes to a result by specifying the odata.track-changes preference on a request. If supported for the request, the service includes a Preference-Applied header in the response containing the odata.track-changes preference and includes a delta link on the last page of results. The client is able to request changes by invoking the GET method on the delta link. For details, see 11.3 Requesting Changes of the OData Version 4.0 protocol.

  • EdmxReader supports ignoring the unknown attribute/element in new TryParse API

ODataLib Parser now supports emit a warning upon unknown attributes/elements in the metadata document instead of throwing an exception.

 

  • ODataUriParser now supports parsing Enum and ComplexType in Cast

ODataLib Parser now supports implicitly casting derived complex type to base type and underlying enum values to enum type in filter clause.

 

  • ODataUriParser adds support for parsing relative Uri without service root

ODataUriParser now does not enforce a service root URI in construction. This is handy when you are trying to parse a query option with only the model and the  relative uri.

 

Misc

  • ATOM is disabled by default in OData reader & writer

Odatalib now suppress the reader/writer of ATOM payload by obsoleting these methods for the reason that  ATOM payload is still is still a committee drafted standard as of now. We will support ATOM format once it become an official OASIS standard. Using these method will result in build warning with this release.

 

Perf Improvement

 

  • Improve the writer performance by cache metadata document URI. In a pure Action/Function scenarios the boost can be as high as 45%.