{"id":144,"date":"2025-11-13T12:53:01","date_gmt":"2025-11-13T20:53:01","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/openapi\/?p=144"},"modified":"2025-11-13T12:53:01","modified_gmt":"2025-11-13T20:53:01","slug":"openapi-net-release-announcements","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/openapi\/openapi-net-release-announcements\/","title":{"rendered":"OpenAPI.NET: The Biggest Update Ever"},"content":{"rendered":"<h1>Announcing the Biggest Update Ever: OpenAPI.NET v2 &amp; v3<\/h1>\n<p>We are excited to announce two major releases of the OpenAPI.NET library\u2014the most significant update since its launch in 2018. These updates ensure developers can build and document modern, interoperable APIs with the latest OpenAPI specifications.<\/p>\n<ul>\n<li><strong>OpenAPI.NET v2<\/strong> Adds support for OpenAPI Specification v3.1.0, delivering performance improvements, streamlined API enhancements, and reduced dependencies. Try it <a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.OpenApi\/2.3.9\">here<\/a>!<\/li>\n<li><strong>OpenAPI.NET v3<\/strong> Introduces full support for OpenAPI Specification v3.2.0, including new serialization methods, richer model properties, and expanded functionality across the API surface.Try it <a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.OpenApi\/\">here<\/a>!<\/li>\n<\/ul>\n<h1>The impact<\/h1>\n<p>OpenAPI.NET is the backbone for many .NET tools and frameworks, including Swashbuckle, Semantic Kernel, NSwag, and .NET itself. These updates ensure:<\/p>\n<ul>\n<li>Future-proof API documentation for ASP.NET Core projects, especially as .NET 10 moves toward native OpenAPI support.<\/li>\n<li>Better performance and reliability for large-scale API ecosystems.<\/li>\n<\/ul>\n<h1>Key highlights from OpenAPI.NET v2<\/h1>\n<ul>\n<li><strong>OpenAPI spec v3.1 Support<\/strong>: Full serialization and model support.<\/li>\n<li><strong>API Surface improvements<\/strong>: Better API surface for the properties of type &#8220;json&#8221; which now use the native JSON node API.<\/li>\n<li><strong>Performance Gains:<\/strong> Faster JSON parsing using System.Text.Json while maintaining YAML support.<br \/>\nOur <a href=\"https:\/\/github.com\/microsoft\/OpenAPI.NET\/blob\/main\/docs\/upgrade-guide-2.md#results\">results<\/a> outline an overall <strong>50% reduction in processing time<\/strong> for the document parsing as well as <strong>35% reduction in memory allocation<\/strong> when parsing JSON.<\/li>\n<li><strong>Lazy Reference Resolution:<\/strong> Improves load times for documents with heavy <code>$ref<\/code> usage.<\/li>\n<li><strong>Reduced Dependencies:<\/strong> Core library now reads\/writes JSON without requiring additional packages.<\/li>\n<\/ul>\n<h1>Key highlights from OpenAPI.NET v3<\/h1>\n<p>Here is a summary of the key new features:<\/p>\n<ul>\n<li><strong>OpenAPI spec v3.2 Support:<\/strong> Full serialization and model support.<\/li>\n<li><strong>Enhanced Media Types:<\/strong> New properties for encoding and schema support.<\/li>\n<li><strong>Hierarchical Tags:<\/strong> Support for tag organization with kind, summary, and parent relationships.<\/li>\n<li><strong>Security Enhancements:<\/strong> Deprecated flag and device authorization flow support.<\/li>\n<li><strong>Enhanced Examples:<\/strong> New data value and serialized value properties.<\/li>\n<li><strong>Extended Parameter Support:<\/strong> New locations and styles for parameter.<\/li>\n<\/ul>\n<h1>Upgrade\u00a0guides<\/h1>\n<p>For\u00a0a\u00a0full\u00a0list\u00a0of\u00a0new\u00a0features\u00a0and\u00a0a\u00a0detailed developers\u00a0guide\u00a0to\u00a0update\u00a0your version please refer to the detailed upgrade guides below.\u00a0We\u00a0recommend\u00a0upgrading\u00a0to\u00a0v2\u00a0first,\u00a0and\u00a0then\u00a0v3.\u00a0<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/microsoft\/OpenAPI.NET\/blob\/main\/docs\/upgrade-guide-2.md\">Upgrade\u00a0guide\u00a0for\u00a0v2<\/a>.<\/li>\n<li><a href=\"https:\/\/github.com\/microsoft\/OpenAPI.NET\/blob\/main\/docs\/upgrade-guide-3.md\">Upgrade\u00a0guide\u00a0for\u00a0v3<\/a>.<\/li>\n<\/ul>\n<h1>Support\u00a0going\u00a0forward\u00a0<\/h1>\n<p>We are an open source project and welcome contributions from all developers. If you feel passionate about the OpenAPI initiative and OpenAPI.NET, we welcome, and appreciate your contribution. Please leverage the <a href=\"https:\/\/github.com\/microsoft\/OpenAPI.NET\/blob\/main\/CONTRIBUTING.md\">contributing guide<\/a> before making a new contribution.<\/p>\n<h1>Shoutout to our key contributors<\/h1>\n<p>It takes a village, and this milestone could not have been achieved without the help of key contributors &#8211; naming a few, we probably missed some: Vincent Biret (baywet) , Matthieu Costabello (kilifu), Maggie Kimani (MaggieKimani1) , Adrian Obando (adrian05-ms), Darrel Miller (darrelmiller), Irvine Sunday (irvinesunday), Martin Costello (martincostello), Safia Abdalla (captainsafia), Mike Kistler (mikekistler) and Rachit Malik (RachitMalik12).<\/p>\n<h1>Feedback<\/h1>\n<p>For any feedback, please create a GitHub issue <a href=\"https:\/\/github.com\/microsoft\/OpenAPI.NET\/issues\">here<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A celebratory announcement of what is new in OpenAPI.NET v2 and v3.<\/p>\n","protected":false},"author":69114,"featured_media":66,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-144","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-openapi"],"acf":[],"blog_post_summary":"<p>A celebratory announcement of what is new in OpenAPI.NET v2 and v3.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/openapi\/wp-json\/wp\/v2\/posts\/144","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/openapi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/openapi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/openapi\/wp-json\/wp\/v2\/users\/69114"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/openapi\/wp-json\/wp\/v2\/comments?post=144"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/openapi\/wp-json\/wp\/v2\/posts\/144\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/openapi\/wp-json\/wp\/v2\/media\/66"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/openapi\/wp-json\/wp\/v2\/media?parent=144"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/openapi\/wp-json\/wp\/v2\/categories?post=144"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/openapi\/wp-json\/wp\/v2\/tags?post=144"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}