{"id":2714,"date":"2019-03-25T20:52:29","date_gmt":"2019-03-25T20:52:29","guid":{"rendered":"https:\/\/developer.microsoft.com\/en-us\/office\/blogs\/?p=2714"},"modified":"2019-03-25T20:52:29","modified_gmt":"2019-03-25T20:52:29","slug":"microsoft-graph-sdk-for-net-1-14-0-release-notes","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/microsoft-graph-sdk-for-net-1-14-0-release-notes\/","title":{"rendered":"Microsoft Graph\u00a0SDK for .NET\u00a01.14.0\u00a0Release\u00a0Notes\u00a0"},"content":{"rendered":"<p>We recently updated our .Net SDK for Microsoft Graph with\u00a0exciting additions\u00a0that are aimed at simplifying\u00a0usage of\u00a0the client library while\u00a0providing\u00a0a great amount of\u00a0functionality\u00a0with our underlying middleware pipeline.<\/p>\n<h3>Middleware Handlers<\/h3>\n<p>The core library now has\u00a0out of the\u00a0box\u00a0implementations for\u00a0retry, redirect and a authentication handler\u00a0as part\u00a0of our middleware components.\u00a0In addition to these handlers, we have also\u00a0added\u00a0middleware configuration options\u00a0that provide fine grain\u00a0of middleware\u00a0on a\u00a0per request\u00a0basis.<\/p>\n<pre>\/\/ Per Request middleware configuration\nvar messages = await graphServiceClient.Me.Messages.Request()\n                     .WithScopes(new string[] { \"Mail.Read\" })\n                     .WithMaxRetry(3)\n                     .GetAsync();\n<\/pre>\n<p>If\u00a0 you are interested in\u00a0adding your custom middleware component\u00a0implementation,\u00a0\u00a0stay tuned\u00a0for the next\u00a0release where we\u00a0will\u00a0simplify this process.<\/p>\n<h3>Updated Models<\/h3>\n<p>The model library has\u00a0been updated with an additional set of\u00a0Intune\u00a0and\u00a0Teams APIs\u00a0support. We have also added a fluent API to support creating Teams from existing groups.<\/p>\n<h3>Bug Fixes<\/h3>\n<p>This release also fixes\u00a0a substantial\u00a0number\u00a0of bugs\u00a0and issues\u00a0that have been reported by our community\u00a0on\u00a0<a href=\"https:\/\/github.com\/microsoftgraph\/msgraph-sdk-dotnet\/issues\">GitHub<\/a>\u00a0and\u00a0<a href=\"https:\/\/stackoverflow.com\/questions\/tagged\/microsoft-graph-sdks\">Stack Overflow<\/a>. These are some of the\u00a0noteworthy\u00a0bugs\u00a0that have been fixed as part of this release:<\/p>\n<ul>\n<li>Removes upper bounds on\u00a0Newtonsoft.json\u00a0package reference\u00a0<a href=\"https:\/\/github.com\/microsoftgraph\/msgraph-sdk-dotnet\/issues\/345\">#345<\/a>.<\/li>\n<li>Fixes breaking change\u00a0with\u00a0HttpProvider\u00a0<a href=\"https:\/\/github.com\/microsoftgraph\/msgraph-sdk-dotnet\/issues\/362\">#362<\/a>.<\/li>\n<\/ul>\n<h3>Microsoft.Graph.Beta\u00a0Preview<\/h3>\n<p>Are the features that you want to use\u00a0in your solution\u00a0only\u00a0available on the beta endpoint?\u00a0If so, we\u00a0now generate\u00a0a\u00a0beta\u00a0endpoint client\u00a0library\u00a0for Microsoft Graph. It is\u00a0currently in\u00a0preview so let us know about your experience so that we can make this generally available.\u00a0Instructions on\u00a0how to use\u00a0the beta\u00a0service library\u00a0are provided\u00a0in\u00a0our <a href=\"https:\/\/github.com\/microsoftgraph\/msgraph-beta-sdk-dotnet\">GitHub repo<\/a>.<\/p>\n<p>This is now available on NuGet as\u00a0<a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.Graph.Beta\/0.1.0-preview\">Microsoft.Graph.Beta<\/a>.\u00a0Please provide us feedback in our <a href=\"https:\/\/github.com\/microsoftgraph\/msgraph-beta-sdk-dotnet\">GitHub repo<\/a>.<\/p>\n<h3>Microsoft.Graph.Auth\u00a0Preview<\/h3>\n<p>We are excited to announce the preview of the\u00a0Microsoft.Graph.Auth\u00a0library. We simplify the use of <a href=\"https:\/\/github.com\/AzureAD\/microsoft-authentication-library-for-dotnet\">Microsoft Authentication Library<\/a> (MSAL) by providing scenario-based <em>AuthenticationProviders<\/em>. These providers optimize for working with the Microsoft Graph and simplify the configuration of MSAL applications based on the smaller set of auth scenarios supported by Microsoft Graph.\u00a0You just need to provide the required information for your scenario and get an authenticated client.<\/p>\n<pre>\/\/ Create Client Application and Authentication Provider\nvar app = InteractiveAuthenticationProvider.CreateClientApplication(\"\");\nvar authProvider = new InteractiveAuthenticationProvider(app, new string[] { \"User.Read\"});\n\n\/\/ Create GraphServiceClient with middleware pipeline setup\nvar graphServiceClient = new GraphServiceClient(authProvider);\n<\/pre>\n<p>Instructions on how to\u00a0use the auth library can be found\u00a0in our GitHub repo\u00a0<a href=\"https:\/\/github.com\/microsoftgraph\/msgraph-sdk-dotnet-auth\">https:\/\/github.com\/microsoftgraph\/msgraph-sdk-dotnet-auth<\/a>.<\/p>\n<p>This is now available on NuGet as\u00a0<a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.Graph.Auth\">Microsoft.Graph.Auth<\/a>.\u00a0We\u2019d love to hear your feedback! Helping to simplify Authentication is one of the most frequest requests we get, so we would love to hear if we are on the right path.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We recently updated our .Net SDK for Microsoft Graph with\u00a0exciting additions\u00a0that are aimed at simplifying\u00a0usage of\u00a0the client library.\u00a0<\/p>\n","protected":false},"author":69114,"featured_media":25159,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[3],"tags":[66],"class_list":["post-2714","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microsoft-graph","tag-oauth-2-0"],"acf":[],"blog_post_summary":"<p>We recently updated our .Net SDK for Microsoft Graph with\u00a0exciting additions\u00a0that are aimed at simplifying\u00a0usage of\u00a0the client library.\u00a0<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/2714","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\/69114"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/comments?post=2714"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/2714\/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=2714"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/categories?post=2714"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/tags?post=2714"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}