July 12th, 2024

Announcing OData .NET 8 Release Candidate 1

OData .NET 8.0 RC1 is now available, bringing numerous significant improvements to the following libraries:

  1. Microsoft.OData.Core
  2. Microsoft.OData.Edm
  3. Microsoft.Spatia
  4. Microsoft.OData.Client

This is the final release candidate before the official launch of these libraries, scheduled for August 12th. Most of the planned features and changes are included in this release candidate and are ready for you to explore.

In addition to the changes listed in these documents:

  1. OData .NET 8 Preview Release – OData (microsoft.com)
  2. OData lib 8.x changelog – OData | Microsoft Learn

This release includes the following updates: Some of these updates are breaking changes.

Updates in Version 8.0.0-rc.1

 

Microsoft.OData.Core

  • Made ODataUtf8JsonWriter the default JSON writer implementation to enhance serialization performance. Benchmarks and feedback from some OData users have shown that ODataUtf8JsonWriter offers better performance and memory efficiency compared to the current default JsonWriter.
  • Changed the ODataLibraryCompatibility enum into a flags enum, where each bit represents a different compatibility setting that can enable some legacy serialization behavior.
  • Refactored ODataError, ODataErrorDetail and ODataInnerError classes.
    • The ODataErrorDetail’s ErrorCode property updated to Code
    • The initialization of ODataInnerError changed to ODataInnerError(new Dictionary<string, ODataValue>())
  • The ODataResource.Properties property type was changed to IEnumerable<ODataPropertyInfo> to facilitate metadata reading or writing, even in scenarios where the property lacks a value.
  • When writing the Scale attribute in XML CSDL, use variable in lowercase instead of Variable. An enum flag, UseLegacyVariableCasing, was added to support the legacy behavior.

Microsoft.OData.Edm

  • Added UsesDefault property to IEdmVocabularyAnnotation to support creating vocabulary annotations without explicit values but with default values. These default values are not written to the CSDL but can be read.

Microsoft.OData.Client

  • Renamed IBaseEntityType.Context to DataServiceContext to avoid naming conflicts that cause compilation or runtime errors when Context is used as a property name in customer schemas.

We invite you to try out this release candidate version and share your feedback to help us improve the final release. Thank you for your continued support and contributions to the OData ecosystem.

Category
OData

1 comment

Discussion is closed. Login to edit/delete existing comments.