{"id":12707,"date":"2020-04-23T11:02:28","date_gmt":"2020-04-23T19:02:28","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/vsnews\/?p=12707"},"modified":"2020-04-23T11:02:28","modified_gmt":"2020-04-23T19:02:28","slug":"aa88s1z","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/vsnews\/akams-aa88s1z\/","title":{"rendered":"GSL 3.0.0 Release (C++)"},"content":{"rendered":"<p class=\"\">Version 3.0.0 of Microsoft\u2019s implementation of the\u00a0<a href=\"https:\/\/github.com\/microsoft\/GSL\" target=\"_blank\" rel=\"noopener noreferrer\">C++ Core Guidelines Support Library<\/a>\u00a0(GSL) is now available for you to download on the\u00a0<a href=\"https:\/\/github.com\/microsoft\/gsl\/releases\" target=\"_blank\" rel=\"noopener noreferrer\">releases page<\/a>. Microsoft\u2019s implementation of\u00a0<code class=\" prettyprinted\"><span class=\"pln\">gsl<\/span><span class=\"pun\">::<\/span><span class=\"pln\">span<\/span><\/code>\u00a0has played a pivotal role in the standardization of span for C++20. However, the standard does not provide any runtime checking guarantees for memory bounds safety. The bounds safety provided by\u00a0<code class=\" prettyprinted\"><span class=\"pln\">gsl<\/span><span class=\"pun\">::<\/span><span class=\"pln\">span<\/span><\/code>\u00a0has been very successful in preventing security issues in Microsoft products. This release maintains the safety guarantees that we have always offered but modernizes our implementation to align with C++20 span.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Version 3.0.0 of Microsoft\u2019s implementation of the\u00a0C++ Core Guidelines Support Library\u00a0(GSL) is now available for you to download on the\u00a0releases page. Microsoft\u2019s implementation of\u00a0gsl::span\u00a0has played a pivotal role in the standardization of span for C++20. However, the standard does not provide any runtime checking guarantees for memory bounds safety. The bounds safety provided by\u00a0gsl::span\u00a0has been [&hellip;]<\/p>\n","protected":false},"author":18258,"featured_media":8227,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[3],"tags":[],"class_list":["post-12707","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-allskus"],"acf":[],"blog_post_summary":"<p>Version 3.0.0 of Microsoft\u2019s implementation of the\u00a0C++ Core Guidelines Support Library\u00a0(GSL) is now available for you to download on the\u00a0releases page. Microsoft\u2019s implementation of\u00a0gsl::span\u00a0has played a pivotal role in the standardization of span for C++20. However, the standard does not provide any runtime checking guarantees for memory bounds safety. The bounds safety provided by\u00a0gsl::span\u00a0has been [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/vsnews\/wp-json\/wp\/v2\/posts\/12707","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/vsnews\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/vsnews\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/vsnews\/wp-json\/wp\/v2\/users\/18258"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/vsnews\/wp-json\/wp\/v2\/comments?post=12707"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/vsnews\/wp-json\/wp\/v2\/posts\/12707\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/vsnews\/wp-json\/wp\/v2\/media\/8227"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/vsnews\/wp-json\/wp\/v2\/media?parent=12707"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/vsnews\/wp-json\/wp\/v2\/categories?post=12707"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/vsnews\/wp-json\/wp\/v2\/tags?post=12707"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}