{"id":5666,"date":"2024-07-12T01:26:13","date_gmt":"2024-07-12T08:26:13","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/odata\/?p=5666"},"modified":"2024-07-12T01:26:13","modified_gmt":"2024-07-12T08:26:13","slug":"announcing-odata-net-8-release-candidate-1","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/odata\/announcing-odata-net-8-release-candidate-1\/","title":{"rendered":"Announcing OData .NET 8 Release Candidate 1"},"content":{"rendered":"<p>OData .NET 8.0 RC1 is now available, bringing numerous significant improvements to the following libraries:<\/p>\n<ol>\n<li><em>Microsoft.OData.Core<\/em><\/li>\n<li><em>Microsoft.OData.Edm<\/em><\/li>\n<li><em>Microsoft.Spatia<\/em><\/li>\n<li><em>Microsoft.OData.Client<\/em><\/li>\n<\/ol>\n<p>This is the final release candidate before the official launch of these libraries, scheduled for <strong>August 12th<\/strong>. Most of the planned features and changes are included in this release candidate and are ready for you to explore.<\/p>\n<p>In addition to the changes listed in these documents:<\/p>\n<ol>\n<li><a href=\"https:\/\/devblogs.microsoft.com\/odata\/odata-net-8-preview-release\/\" target=\"_new\" rel=\"noreferrer noopener\">OData .NET 8 Preview Release &#8211; OData (microsoft.com)<\/a><\/li>\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/odata\/changelog\/odatalib-8x\">OData lib 8.x changelog &#8211; OData | Microsoft Learn<\/a><\/li>\n<\/ol>\n<p>This release includes the following updates: Some of these updates are breaking changes.<\/p>\n<h2 id=\"breaking-changes-in-version-8-0-0-preview-1\"><span style=\"font-size: 36pt;\">Updates in Version 8.0.0-rc.1<\/span><\/h2>\n<p>&nbsp;<\/p>\n<h3><span style=\"color: #ff0000;\"><code>Microsoft.OData.Core<\/code><\/span><\/h3>\n<ul>\n<li>Made <code>ODataUtf8JsonWriter<\/code> the default JSON writer implementation to enhance serialization performance. Benchmarks and feedback from some OData users have shown that <code>ODataUtf8JsonWriter<\/code> offers better performance and memory efficiency compared to the current default <code>JsonWriter<\/code>.<\/li>\n<li>Changed the <code>ODataLibraryCompatibility<\/code> enum into a flags enum, where each bit represents a different compatibility setting that can enable some legacy serialization behavior.<\/li>\n<li>Refactored <code>ODataError<\/code>, <code>ODataErrorDetail<\/code> and <code>ODataInnerError<\/code> classes.\n<ul>\n<li>The ODataErrorDetail&#8217;s <code>ErrorCode<\/code> property updated to <code>Code<\/code><\/li>\n<li>The initialization of <code>ODataInnerError<\/code> changed to <code>ODataInnerError(new Dictionary&lt;string, ODataValue&gt;())<\/code><\/li>\n<\/ul>\n<\/li>\n<li>The <code>ODataResource.Properties<\/code> property type was changed to <code>IEnumerable&lt;ODataPropertyInfo&gt;<\/code> to facilitate metadata reading or writing, even in scenarios where the property lacks a value.<\/li>\n<li>When writing the <code>Scale<\/code> attribute in XML CSDL, use <code>variable<\/code> in lowercase instead of <code>Variable<\/code>. An enum flag, <code>UseLegacyVariableCasing<\/code>, was added to support the legacy behavior.<\/li>\n<\/ul>\n<h3><span style=\"color: #ff0000;\"><code>Microsoft.OData.Edm<\/code><\/span><\/h3>\n<ul>\n<li>Added <code>UsesDefault<\/code> property to <code>IEdmVocabularyAnnotation<\/code> 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.<\/li>\n<\/ul>\n<h3><span style=\"color: #ff0000;\"><code>Microsoft.OData.Client<\/code><\/span><\/h3>\n<ul>\n<li>Renamed <code>IBaseEntityType.Context<\/code> to <code>DataServiceContext<\/code> to avoid naming conflicts that cause compilation or runtime errors when <code>Context<\/code> is used as a property name in customer schemas.<\/li>\n<\/ul>\n<p>We invite you to try out this <strong>release candidate<\/strong> version and share your feedback to help us improve the final release. Thank you for your continued support and contributions to the OData ecosystem.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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 [&hellip;]<\/p>\n","protected":false},"author":12390,"featured_media":3253,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-5666","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-odata"],"acf":[],"blog_post_summary":"<p>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 [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/odata\/wp-json\/wp\/v2\/posts\/5666","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/odata\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/odata\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/odata\/wp-json\/wp\/v2\/users\/12390"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/odata\/wp-json\/wp\/v2\/comments?post=5666"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/odata\/wp-json\/wp\/v2\/posts\/5666\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/odata\/wp-json\/wp\/v2\/media\/3253"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/odata\/wp-json\/wp\/v2\/media?parent=5666"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/odata\/wp-json\/wp\/v2\/categories?post=5666"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/odata\/wp-json\/wp\/v2\/tags?post=5666"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}