{"id":4259,"date":"2020-03-16T17:46:11","date_gmt":"2020-03-17T00:46:11","guid":{"rendered":"https:\/\/officedevblogs.wpengine.com\/?p=4259"},"modified":"2020-03-16T17:46:11","modified_gmt":"2020-03-17T00:46:11","slug":"microsoft-graph-net-sdk-updates","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/microsoft-graph-net-sdk-updates\/","title":{"rendered":"Microsoft Graph .NET SDK updates"},"content":{"rendered":"<p><span data-contrast=\"none\">It has been a while since the <\/span><span data-contrast=\"none\">Microsoft\u00a0<\/span><span data-contrast=\"none\">Graph SDK team\u00a0<\/span><span data-contrast=\"none\">provided an update\u00a0<\/span><span data-contrast=\"none\">and customers have been asking us when the next update will be available. It is great to hear that people care!\u00a0<\/span><span data-contrast=\"none\">These updates t<\/span><span data-contrast=\"none\">ook<\/span><span data-contrast=\"none\">\u00a0a longer\u00a0<\/span><span data-contrast=\"none\">to deliver than we planned\u00a0<\/span><span data-contrast=\"none\">as we\u00a0<\/span><span data-contrast=\"none\">ma<\/span><span data-contrast=\"none\">d<\/span><span data-contrast=\"none\">e\u00a0<\/span><span data-contrast=\"none\">a few bolder steps towards our\u00a0<\/span><span data-contrast=\"none\">longer-term<\/span><span data-contrast=\"none\">\u00a0plans, and we had a few hiccups along the way.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\" data-wac-het=\"1\">\u00a0<\/span><\/p>\n<h3><span data-contrast=\"none\">Service library vs core library<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\" data-wac-het=\"1\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"none\">For\u00a0<\/span><span data-contrast=\"none\">all of<\/span><span data-contrast=\"none\">\u00a0our SDKs<\/span><span data-contrast=\"none\">,<\/span><span data-contrast=\"none\">\u00a0we<\/span><span data-contrast=\"none\">\u2019<\/span><span data-contrast=\"none\">ve been moving toward a deployment model where SDKs come in two types of packages: service libraries and a core library. A service library contains the models and request builders generated from a specific version of the Microsoft Graph metadata. The core library provides the infrastructure to make reliable and resilient HTTP requests to Microsoft Graph.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\" data-wac-het=\"1\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">The split is necessary and useful for a few reasons. Microsoft Graph metadata is updated weekly as new features are added.\u00a0<\/span><span data-contrast=\"none\">Our goal for this year\u00a0<\/span><span data-contrast=\"none\">is to be able to update the service library packages within a week of the metadata update<\/span><span data-contrast=\"none\">s<\/span><span data-contrast=\"none\">. This means that the process to release the service libraries is going to be highly automated, the version numbers are going to go high, and there\u00a0<\/span><span data-contrast=\"none\">won\u2019t<\/span><span data-contrast=\"none\">\u00a0be<\/span><span data-contrast=\"none\">\u00a0preview releases of these service libraries between minor version releases. Service libraries are a little confusing\u00a0<\/span><span data-contrast=\"none\">because<\/span><span data-contrast=\"none\">\u00a0<\/span><span data-contrast=\"none\">they have a version number, but that version number is not related to\u00a0<\/span><span data-contrast=\"none\">the\u00a0<\/span><span data-contrast=\"none\">Microsoft Graph API version. Currently<\/span><span data-contrast=\"none\">,<\/span><span data-contrast=\"none\">\u00a0there is a\u00a0<\/span><a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.Graph\/\"><span data-contrast=\"none\">Microsoft.Graph<\/span><\/a><span data-contrast=\"none\">\u00a0<\/span><span data-contrast=\"auto\">package<\/span><span data-contrast=\"auto\">,<\/span><span data-contrast=\"none\">\u00a0which supports Microsoft Graph v1.0<\/span><span data-contrast=\"none\">,<\/span><span data-contrast=\"none\">\u00a0and\u202f<\/span><span data-contrast=\"none\">a\u00a0<\/span><a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.Graph\/\"><span data-contrast=\"none\">Microsoft.Graph.Beta<\/span><\/a><span data-contrast=\"none\">\u00a0<\/span><span data-contrast=\"auto\">package that<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"none\">support<\/span><span data-contrast=\"none\">s<\/span><span data-contrast=\"none\">\u00a0the Microsoft Graph beta API.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\" data-wac-het=\"1\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">The core library will release on a much slower cadence and there will be preview releases. This library will work with all the service libraries. Or stated differently, the core library can be used to call any version of the Microsoft Graph API. Over time, the core library will contain all the\u00a0<\/span><span data-contrast=\"none\">handwritten<\/span><span data-contrast=\"none\">\u00a0code<\/span><span data-contrast=\"none\">, and t<\/span><span data-contrast=\"none\">he service library will only contain generated code.\u00a0<\/span><span data-contrast=\"none\">We are<\/span><span data-contrast=\"none\">\u00a0not quite there yet, but\u00a0<\/span><span data-contrast=\"none\">this<\/span><span data-contrast=\"none\">\u00a0will enable us to do more\u00a0<\/span><span data-contrast=\"none\">really cool<\/span><span data-contrast=\"none\">\u00a0stuff.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\" data-wac-het=\"1\">\u00a0<\/span><\/p>\n<h3><span data-contrast=\"none\">Azure SDK alignment<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\" data-wac-het=\"1\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"none\">Recently, more developers have started to take advantage of the features available in both Microsoft Graph and Azure. This has led us to work more closely with the Azure SDK team to ensure that the Azure and\u00a0<\/span><span data-contrast=\"none\">Microsoft\u00a0<\/span><span data-contrast=\"none\">Graph SDKs will work together seamlessly. We all know the challenges of mismatched dependent assemblies. We also recognized that we were building similar but different mechanisms to get authorization tokens.\u00a0<\/span><span data-contrast=\"none\">We are<\/span><span data-contrast=\"none\">\u00a0working to\u00a0<\/span><span data-contrast=\"none\">improve\u00a0<\/span><span data-contrast=\"none\">that<\/span><span data-contrast=\"none\">\u00a0experience<\/span><span data-contrast=\"none\">.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\" data-wac-het=\"1\">\u00a0<\/span><\/p>\n<h3><span data-contrast=\"none\">Breaking SDK update<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\" data-wac-het=\"1\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"none\">The Microsoft Graph versioning policy guarantees that there will be no breaking changes. The policy describes what is considered a breaking change, but when you get down to details<\/span><span data-contrast=\"none\">,<\/span><span data-contrast=\"none\">\u00a0there is still room for interpretation.\u00a0<\/span><span data-contrast=\"none\">The\u00a0<\/span><span data-contrast=\"none\">intent<\/span><span data-contrast=\"none\">\u00a0<\/span><span data-contrast=\"none\">of our versioning policy is\u00a0<\/span><span data-contrast=\"none\">less ambiguous<\/span><span data-contrast=\"none\">.\u00a0<\/span><span data-contrast=\"none\">We are committed<\/span><span data-contrast=\"none\">\u00a0<\/span><span data-contrast=\"none\">to ensuring\u00a0<\/span><span data-contrast=\"none\">that changes to\u00a0<\/span><span data-contrast=\"none\">the\u00a0<\/span><span data-contrast=\"none\">Microsoft Graph API\u00a0<\/span><span data-contrast=\"none\">will not\u00a0<\/span><span data-contrast=\"none\">negatively\u00a0<\/span><span data-contrast=\"none\">impact deployed\u00a0<\/span><span data-contrast=\"none\">applications.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\" data-wac-het=\"1\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Recently<\/span><span data-contrast=\"none\">,<\/span><span data-contrast=\"none\">\u00a0there were a number of changes to the API that\u00a0<\/span><span data-contrast=\"none\">do<\/span><span data-contrast=\"none\">\u00a0<\/span><span data-contrast=\"none\">not cause deployed applications to fail<\/span><span data-contrast=\"none\">,<\/span><span data-contrast=\"none\">\u00a0but do change the generated service library\u00a0<\/span><span data-contrast=\"none\">in such a way<\/span><span data-contrast=\"none\">\u00a0as to potentially cause compilation errors when an existing application is updated to a new version of the SDK. For this\u00a0<\/span><span data-contrast=\"none\">reason<\/span><span data-contrast=\"none\">\u00a0you will see\u00a0<\/span><span data-contrast=\"none\">that\u00a0<\/span><span data-contrast=\"none\">the\u00a0<\/span><span data-contrast=\"none\">major version number of the\u00a0<\/span><span data-contrast=\"none\">service library for Microsoft Graph\u00a0<\/span><span data-contrast=\"none\">v<\/span><span data-contrast=\"none\">1.0 has changed. This is the first time it has happened<\/span><span data-contrast=\"none\">,<\/span><span data-contrast=\"none\">\u00a0and\u00a0<\/span><span data-contrast=\"none\">hopefully it will remain a rare\u00a0<\/span><span data-contrast=\"none\">occurrence<\/span><span data-contrast=\"none\">.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\" data-wac-het=\"1\">\u00a0<\/span><\/p>\n<h3><span data-contrast=\"none\">.NET SDK v1.0 service library v3.0.0\u00a0<\/span><span data-contrast=\"none\">u<\/span><span data-contrast=\"none\">pdates<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\" data-wac-het=\"1\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"none\">The\u202f<\/span><span data-contrast=\"none\">microsoft.graph<\/span><span data-contrast=\"none\">\u202f<\/span><span data-contrast=\"none\">N<\/span><span data-contrast=\"none\">uget<\/span><span data-contrast=\"none\">\u00a0package has\u00a0<\/span><span data-contrast=\"none\">moved<\/span><span data-contrast=\"none\">\u00a0from v1.21.0 to v3.0.0. You may be wondering what happened to v2.0.0. Believe it or not, we are attempting to avoid confusion.\u00a0<\/span><span data-contrast=\"none\">There has been quite a bit of talk about the Microsoft Graph\u00a0<\/span><span data-contrast=\"none\">v<\/span><span data-contrast=\"none\">2<\/span><span data-contrast=\"none\">.0<\/span><span data-contrast=\"none\">\u00a0<\/span><span data-contrast=\"none\">and we\u00a0<\/span><span data-contrast=\"none\">do not<\/span><span data-contrast=\"none\">\u00a0want anyone to\u00a0<\/span><span data-contrast=\"none\">assume<\/span><span data-contrast=\"none\">\u00a0that this\u00a0<\/span><span data-contrast=\"none\">NuGet<\/span><span data-contrast=\"none\">\u00a0package version corresponds to the Microsoft Graph API version.\u00a0<\/span><span data-contrast=\"none\">T<\/span><span data-contrast=\"none\">he\u00a0<\/span><span data-contrast=\"none\">NuGet<\/span><span data-contrast=\"none\">\u00a0package version is not related to the Microsoft Graph API\u00a0<\/span><span data-contrast=\"none\">v<\/span><span data-contrast=\"none\">ersion. We have\u00a0<\/span><span data-contrast=\"none\">a\u00a0<\/span><span data-contrast=\"none\">different\u00a0<\/span><span data-contrast=\"none\">NuGet<\/span><span data-contrast=\"none\">\u00a0package for\u00a0<\/span><span data-contrast=\"none\">each<\/span><span data-contrast=\"none\">\u00a0Microsoft Graph API version.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\" data-wac-het=\"1\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">The following<\/span><span data-contrast=\"none\">\u00a0changes to the service library\u00a0<\/span><span data-contrast=\"none\">might<\/span><span data-contrast=\"none\">\u00a0<\/span><span data-contrast=\"none\">cause your compiler to complain:<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\" data-wac-het=\"1\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"none\">A new property<strong>\u202fc<\/strong><\/span><strong>reationType <\/strong><span data-contrast=\"none\">on the\u202f<strong>o<\/strong><\/span><strong>rganization<\/strong><span data-contrast=\"none\">\u202fentity was added in the last release of the SDK. Unfortunately<\/span><span data-contrast=\"none\">,<\/span><span data-contrast=\"none\"> that property should have been created on\u202f<strong>u<\/strong><\/span><strong>ser<\/strong><span data-contrast=\"none\">. The property has now been moved. It is unlikely that any client applications have taken a dependency on this property, but there is a small chance\u00a0<\/span><span data-contrast=\"none\">that it will cause<\/span><span data-contrast=\"none\">\u00a0a compiler error for some.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\" data-wac-het=\"1\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"none\">More significantly,\u00a0<\/span><span data-contrast=\"none\">a number of<\/span><span data-contrast=\"none\">\u00a0Teams<\/span><span data-contrast=\"none\">&#8211;<\/span><span data-contrast=\"none\">related requests now will return the <strong>team<\/strong> type and not the <strong>group<\/strong> type. The properties in <\/span><span data-contrast=\"none\">the\u00a0<\/span><span data-contrast=\"none\">HTTP payload were only properties that are present in both types and therefore the message on-the-wire does not change in anyway. However, from the compiler&#8217;s perspective, these are unrelated types and applications that currently assign the results of these Teams calls to a <strong>group<\/strong> object will see compiler errors on updating the service library package. <\/span><span data-contrast=\"none\">You\u00a0<\/span><span data-contrast=\"none\">simply<\/span><span data-contrast=\"none\">\u00a0need to change\u00a0<\/span><span data-contrast=\"none\">the declared type from\u202f<strong>g<\/strong><\/span><strong>roup<\/strong><span data-contrast=\"none\">\u202fto\u202f<strong>t<\/strong><\/span><strong>eam<\/strong><span data-contrast=\"none\">.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\" data-wac-het=\"1\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"none\">Because<\/span><span data-contrast=\"none\">\u00a0<\/span><span data-contrast=\"none\">we need to make a breaking change to this library, we are going to take this opportunity to bump the framework requirements to .NET Standard 2.0 and .NET 4.6. Support for .NET Core 1.x\u202f<\/span><a href=\"https:\/\/dotnet.microsoft.com\/platform\/support\/policy\/dotnet-core\"><span data-contrast=\"none\">ended in June 2019<\/span><\/a><span data-contrast=\"none\">; at that time,<\/span><span data-contrast=\"none\">\u00a0<\/span><span data-contrast=\"none\">we recommended\u00a0<\/span><span data-contrast=\"none\">that\u00a0<\/span><span data-contrast=\"none\">all users migrate their applications to\u00a0<\/span><span data-contrast=\"none\">supported<\/span><span data-contrast=\"none\">\u00a0versions of the .NET Framework.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\" data-wac-het=\"1\">\u00a0<\/span><\/p>\n<h3><span data-contrast=\"none\">.NET SDK beta service library v0.13.0 preview <\/span><span data-contrast=\"none\">u<\/span><span data-contrast=\"none\">pdates<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\" data-wac-het=\"1\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"none\">We are refreshing our beta service library with the latest updates. We are going to break the semantic versioning rules with this SDK version<\/span><span data-contrast=\"none\">.<\/span><span data-contrast=\"none\">\u00a0<\/span><span data-contrast=\"none\">T<\/span><span data-contrast=\"none\">here will be regular breaking changes to the API in beta and we would like to keep the major version set at 0 as <\/span><span data-contrast=\"none\">a<\/span><span data-contrast=\"none\">\u00a0reminder that this library is a preview and is not recommended\u00a0<\/span><span data-contrast=\"none\">for<\/span><span data-contrast=\"none\">\u00a0production.\u00a0<\/span><span data-contrast=\"none\">For e<\/span><span data-contrast=\"none\">ach release<\/span><span data-contrast=\"none\">,<\/span><span data-contrast=\"none\">\u00a0we will update the minor version number. We\u00a0<\/span><span data-contrast=\"none\">don&#8217;t<\/span><span data-contrast=\"none\">\u00a0expect to releas<\/span><span data-contrast=\"none\">e<\/span><span data-contrast=\"none\">\u00a0patch updates to this library.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\" data-wac-het=\"1\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">You can see the changes that will be in this release\u00a0<\/span><span data-contrast=\"none\">in<\/span><span data-contrast=\"none\"> the Microsoft Graph\u202f<\/span><a href=\"https:\/\/docs.microsoft.com\/en-us\/graph\/changelog\"><span data-contrast=\"none\">change<\/span><span data-contrast=\"none\">l<\/span><span data-contrast=\"none\">og<\/span><\/a><span data-contrast=\"none\">.<\/span><span data-contrast=\"none\">\u00a0 To be consistent with the v1.0 service library<\/span><span data-contrast=\"none\">,<\/span><span data-contrast=\"none\">\u00a0we will also be changing the framework requirements to.NET 4.6 and .NET Standard 2.0.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\" data-wac-het=\"1\">\u00a0<\/span><\/p>\n<h3><span data-contrast=\"none\">.NET SDK core library v2.0 preview<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\" data-wac-het=\"1\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"none\">Finally, we have\u00a0<\/span><a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.Graph.Core\/\"><span data-contrast=\"none\">released an early preview<\/span><\/a><span data-contrast=\"none\">\u00a0of the next major version of our .NET core library. We have been accumulating a\u202f<\/span><a href=\"https:\/\/github.com\/microsoftgraph\/msgraph-sdk-dotnet-core\/milestone\/2\"><span data-contrast=\"none\">list of issues<\/span><\/a><span data-contrast=\"none\">\u202fthat we want to fix, but require making a new major release.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\" data-wac-het=\"1\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">The most significant changes in this update include:<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\" data-wac-het=\"1\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"none\">T<\/span><span data-contrast=\"none\">aking a dependency on\u00a0<\/span><a href=\"https:\/\/www.nuget.org\/packages\/azure.identity\"><span data-contrast=\"none\">Azure.Identity<\/span><\/a><span data-contrast=\"none\">\u00a0and\u202f<\/span><a href=\"http:\/\/msal.net\/\"><span data-contrast=\"none\">MSAL.NET<\/span><\/a><span data-contrast=\"none\">\u202fso that users will get a<\/span><span data-contrast=\"none\">n<\/span><span data-contrast=\"none\">\u00a0authentication solution, out of the box and one that is consistent with the experience used with Azure SDKs.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\" data-wac-het=\"1\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"none\">M<\/span><span data-contrast=\"none\">oving from\u00a0<\/span><a href=\"https:\/\/www.nuget.org\/packages\/Newtonsoft.Json\/\"><span data-contrast=\"none\">Newtonsoft.JSON<\/span><\/a><span data-contrast=\"none\">\u00a0to\u00a0<\/span><a href=\"https:\/\/www.nuget.org\/packages\/System.Text.Json\/\"><span data-contrast=\"none\">System.Text.Json<\/span><\/a><span data-contrast=\"none\">. This will provide performance benefits for those working on .NET Core 3 and will align our dependencies with the Azure SDK team. It will also ensure that\u00a0<\/span><span data-contrast=\"none\">there\u00a0<\/span><span data-contrast=\"none\">won\u2019t<\/span><span data-contrast=\"none\">\u00a0<\/span><span data-contrast=\"none\">be conflicts with other versions of\u00a0<\/span><span data-contrast=\"none\">Newtonsoft.JSON<\/span><span data-contrast=\"none\">\u00a0<\/span><span data-contrast=\"none\">in use\u00a0<\/span><span data-contrast=\"none\">across all applications that use the .NET SDK core lib<\/span><span data-contrast=\"none\">r<\/span><span data-contrast=\"none\">ary.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\" data-wac-het=\"1\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"none\">We will be taking this opportunity to bump up the requirement for the libraries to use either .NET Standard 2.0, or .NET 4.6.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\" data-wac-het=\"1\">\u00a0<\/span><\/p>\n<h3><span data-contrast=\"none\">Summary<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\" data-wac-het=\"1\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"none\">We&#8217;re working hard to make the experience of building applications for Microsoft Graph as easy as <\/span><span data-contrast=\"none\">possible<\/span><span data-contrast=\"none\">. We continue to listen to your feedback and encourage you to keep it coming. Our goal is to be as transparent as possible with our efforts<\/span><span data-contrast=\"none\">. B<\/span><span data-contrast=\"none\">y working together<\/span><span data-contrast=\"none\">,<\/span><span data-contrast=\"none\">\u00a0we can all build great solutions that empower our\u00a0<\/span><span data-contrast=\"none\">customers<\/span><span data-contrast=\"none\">.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\" data-wac-het=\"1\">\u00a0<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>It has been a while since the Microsoft\u00a0Graph SDK team\u00a0provided an update\u00a0and customers have been asking us when the next update will be available. It is great to hear that people care!\u00a0These updates took\u00a0a longer\u00a0to deliver than we planned\u00a0as we\u00a0made\u00a0a few bolder steps towards our\u00a0longer-term\u00a0plans, and we had a few hiccups along the way.\u00a0<\/p>\n","protected":false},"author":69077,"featured_media":25159,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[3],"tags":[],"class_list":["post-4259","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microsoft-graph"],"acf":[],"blog_post_summary":"<p>It has been a while since the Microsoft\u00a0Graph SDK team\u00a0provided an update\u00a0and customers have been asking us when the next update will be available. It is great to hear that people care!\u00a0These updates took\u00a0a longer\u00a0to deliver than we planned\u00a0as we\u00a0made\u00a0a few bolder steps towards our\u00a0longer-term\u00a0plans, and we had a few hiccups along the way.\u00a0<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/4259","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/users\/69077"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/comments?post=4259"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/4259\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media\/25159"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media?parent=4259"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/categories?post=4259"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/tags?post=4259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}