OData .NET 8.0 RC1 is now available, bringing numerous significant improvements to the following libraries:
- Microsoft.OData.Core
- Microsoft.OData.Edm
- Microsoft.Spatia
- 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:
- OData .NET 8 Preview Release – OData (microsoft.com)
- 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
ODataUtf8JsonWriterthe default JSON writer implementation to enhance serialization performance. Benchmarks and feedback from some OData users have shown thatODataUtf8JsonWriteroffers better performance and memory efficiency compared to the current defaultJsonWriter. - Changed the
ODataLibraryCompatibilityenum into a flags enum, where each bit represents a different compatibility setting that can enable some legacy serialization behavior. - Refactored
ODataError,ODataErrorDetailandODataInnerErrorclasses.- The ODataErrorDetail’s
ErrorCodeproperty updated toCode - The initialization of
ODataInnerErrorchanged toODataInnerError(new Dictionary<string, ODataValue>())
- The ODataErrorDetail’s
- The
ODataResource.Propertiesproperty type was changed toIEnumerable<ODataPropertyInfo>to facilitate metadata reading or writing, even in scenarios where the property lacks a value. - When writing the
Scaleattribute in XML CSDL, usevariablein lowercase instead ofVariable. An enum flag,UseLegacyVariableCasing, was added to support the legacy behavior.
Microsoft.OData.Edm
- Added
UsesDefaultproperty toIEdmVocabularyAnnotationto 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.ContexttoDataServiceContextto avoid naming conflicts that cause compilation or runtime errors whenContextis 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.
Is that release friedly to Minimal API like in ASP.NET Core Web API as explained in this video(Supercharging your Web APIs with OData and ASP.NET Core)?