We are happy to announce that the ODL 6.7.0 is released and available on NuGet. Detailed release notes are listed below:

New Features

 

  1. EdmLib supports a list of additional core vocabulary terms
        -  IsLanguageDependent
        -  RequiresType
        -  ResourcePath
        -  DereferenceableIDs
        -  ConventionalIDs
        -  Immutable
        -  Computed
        -  IsURL
        -  AcceptableMediaTypes
        -  MediaType
        -  IsMediaType
  2. EdmLib supports adding metadata annotations to elements in Edm model.
  3. ODataLib supports computing Uri with KeyAsSegment convention for deserializing.
  4. ODataUriParser supports Enum value as an entity key
  5. ODataLib supports overriding default Uri parsing behavior, including:
        -  Resolving property name
        -  Resolving type name
        -  Resolving navigation source name
        -  Resolving operation import name
        -  Resolving bound operation name
        -  Resolving function parameters
        -  Resolving entity set key
        -  Resolving binary operator node elements
        We have also provided built-in implementations to enable following scenarios:
        1) Case insensitive for built in identifiers, including:
            •  In path segment
                $batch, $metadata, $count, $ref, $value
            •  In query options
                $id, $select, $expand(including nested query options), $levels, $filter, $orderby, $skip, $top, $count, $search, max, asc, desc, any, all, contains, startswith, endswith, length, indexof, substring, tolower, toupper, trim, concat, year, month, day, hour,  minute, second, fractionalseconds, totalseconds, totaloffsetminutes, mindatetime maxdatetime, now, and, or, eq, ne, lt, le, gt, ge, has, add, sub, mul, div, mod, not, round, floor, ceiling, isof, cast, geo.distance, geo.length, geo.intersects
            •  $it, true, false, null, are not supported and should be case sensitive
            •  AND, OR, NOT for $search are not supported and should be case sensitive
        2) Case insensitive for user metadata, including :
            •  EntitySet/Singleton Name
            •  EntitySet key predicate name
            •  Property Name
            •  Type Name
            •  FunctionImport name/parameter name
            •  ActionImport name
            •  Bound function name/parameter name
            •  Bound action name
        3) Unqualified function call, including:
            •  Bound function call without namespace prefix
            •  Bound action call without namespace prefix
        4) Omitting Enum type name prefix for Enum value, including:
            •  Omitting Enum type prefix in binary operator
            •  Omitting Enum type prefix in entity set key value
            •  Omitting Enum type prefix in function parameter

Bug fixes

  1. Fixes a bug that DataServiceCollection<T> constructor runs into stack overflow when parameter T derives from a generic type of T.
  2. Fixes a bug that Edm validator doesn't correctly report error when the Edm model contains dupped key properties.

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.