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
ODataUtf8JsonWriter
the default JSON writer implementation to enhance serialization performance. Benchmarks and feedback from some OData users have shown thatODataUtf8JsonWriter
offers better performance and memory efficiency compared to the current defaultJsonWriter
. - 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
andODataInnerError
classes.- The ODataErrorDetail’s
ErrorCode
property updated toCode
- The initialization of
ODataInnerError
changed toODataInnerError(new Dictionary<string, ODataValue>())
- The ODataErrorDetail’s
- The
ODataResource.Properties
property type was changed toIEnumerable<ODataPropertyInfo>
to facilitate metadata reading or writing, even in scenarios where the property lacks a value. - When writing the
Scale
attribute in XML CSDL, usevariable
in lowercase instead ofVariable
. An enum flag,UseLegacyVariableCasing
, was added to support the legacy behavior.
Microsoft.OData.Edm
- Added
UsesDefault
property toIEdmVocabularyAnnotation
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
toDataServiceContext
to avoid naming conflicts that cause compilation or runtime errors whenContext
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.
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)?