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

Bug Fix

  • Fix a bug for top level dynamic property payload don’t have @odata.type annotation

New Features

  • ODataLib supports write & read async headers & payload

  ODataLib now supports new aysnc API in .Net 4.0. For example you can now use code like:  var customers = await ctx.Customers.ExecuteAsync();

 

  • OData Client supports using enum in query options & operation parameter

please refer to this blog post http://blogs.msdn.com/b/odatateam/archive/2014/03/18/use-enumeration-types-in-odata.aspx

 

  • Provide a new (API/flag) to enhance the writer performance by disable validation

In ODataMessageWriterSettings and ODataMessageReaderSettings, an flag "EnableFullValidation" is added to turn on/off full validation to improve perf.

 public class Microsoft.OData.Core.ODataMessageWriterSettings    {     public bool EnableFullValidation{get;set;}

 public class Microsoft.OData.Core.ODataMessageReaderSettings  {     public bool EnableFullValidation{get;set;} 

 

 

  • Support server side paging on client
On client side you should be able to write code:

       NorthwindEntities ctx = new NorthwindEntities(new Uri(@"http://services.odata.org/V4/Northwind/Northwind.svc/"));

     var customers = ctx.Customers.GetAllPages(); // automatically get all pages of the Customers entity set   

     foreach (var customer in customers)

     {

           Console.WriteLine(customer.CustomerID);

     }

 

Call to Action

You and your team are highly welcomed to try out this new version if you are interested in the new features and fixes above. For any feature request, issue or idea please feel free to reach out to us at odatafeedback@microsoft.com.