{"id":1377,"date":"2026-07-16T18:00:00","date_gmt":"2026-07-16T17:00:00","guid":{"rendered":"https:\/\/wade.one\/blog\/?p=1377"},"modified":"2026-07-16T18:00:00","modified_gmt":"2026-07-16T17:00:00","slug":"dotnet-8-and-dotnet-9-end-support-on-the-same-day","status":"publish","type":"post","link":"https:\/\/wade.one\/blog\/2026\/07\/16\/dotnet-8-and-dotnet-9-end-support-on-the-same-day\/","title":{"rendered":".NET 8 and .NET 9 End Support on the Same Day"},"content":{"rendered":"<p>.NET 8 and .NET 9 both reach end of support on 10 November 2026. That is slightly odd at first glance because one is LTS and the other is STS, but the operational answer is simple: teams running either version now have the same deadline for moving to a supported runtime.<\/p>\n<p>Microsoft&#8217;s <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/dotnet-8-9-end-of-support\/\">support reminder<\/a> says security fixes, servicing updates, and technical support stop after that date. Applications will not suddenly refuse to start, but continuing to run them means accepting vulnerabilities that will no longer be patched. Microsoft recommends .NET 10, an LTS release supported through November 2028.<\/p>\n<p>Changing <code>TargetFramework<\/code> to <code>net10.0<\/code> is the visible part of the upgrade, not the whole job. Build images, hosting runtimes, CI runners, deployment tooling, NuGet dependencies, and observability agents all need to agree with it. I would start with the least awkward service, document the breakage, and turn that into the upgrade path for the rest rather than opening twenty upgrade branches at once.<\/p>\n<p>November sounds comfortably distant in July, right up until release work, holidays, and every other dependency deadline consume the calendar. This is the sort of boring platform work that is much cheaper when it has a date and an owner now.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>.NET 8 and .NET 9 both reach end of support on November 10, so teams on either runtime should plan the move to .NET 10 now.<\/p>\n","protected":false},"author":0,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[13,25],"tags":[160,161,203,204],"class_list":["post-1377","post","type-post","status-publish","format-standard","hentry","category-programming","category-software-engineer","tag-dotnet","tag-dotnet-10","tag-dotnet-8","tag-dotnet-9"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>.NET 8 and .NET 9 End Support on the Same Day - wade.one<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wade.one\/blog\/2026\/07\/16\/dotnet-8-and-dotnet-9-end-support-on-the-same-day\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\".NET 8 and .NET 9 End Support on the Same Day - wade.one\" \/>\n<meta property=\"og:description\" content=\".NET 8 and .NET 9 both reach end of support on November 10, so teams on either runtime should plan the move to .NET 10 now.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wade.one\/blog\/2026\/07\/16\/dotnet-8-and-dotnet-9-end-support-on-the-same-day\/\" \/>\n<meta property=\"og:site_name\" content=\"wade.one\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-16T17:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/Wade-Logo-cropped.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1518\" \/>\n\t<meta property=\"og:image:height\" content=\"1506\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@wadewomersley\" \/>\n<meta name=\"twitter:site\" content=\"@wadewomersley\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/07\\\/16\\\/dotnet-8-and-dotnet-9-end-support-on-the-same-day\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/07\\\/16\\\/dotnet-8-and-dotnet-9-end-support-on-the-same-day\\\/\"},\"author\":{\"name\":\"\",\"@id\":\"\"},\"headline\":\".NET 8 and .NET 9 End Support on the Same Day\",\"datePublished\":\"2026-07-16T17:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/07\\\/16\\\/dotnet-8-and-dotnet-9-end-support-on-the-same-day\\\/\"},\"wordCount\":204,\"publisher\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\"},\"keywords\":[\"dotnet\",\"dotnet-10\",\"dotnet-8\",\"dotnet-9\"],\"articleSection\":[\"Programming\",\"Software Engineer\"],\"inLanguage\":\"en-GB\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/07\\\/16\\\/dotnet-8-and-dotnet-9-end-support-on-the-same-day\\\/\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/07\\\/16\\\/dotnet-8-and-dotnet-9-end-support-on-the-same-day\\\/\",\"name\":\".NET 8 and .NET 9 End Support on the Same Day - wade.one\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#website\"},\"datePublished\":\"2026-07-16T17:00:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/07\\\/16\\\/dotnet-8-and-dotnet-9-end-support-on-the-same-day\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/07\\\/16\\\/dotnet-8-and-dotnet-9-end-support-on-the-same-day\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/07\\\/16\\\/dotnet-8-and-dotnet-9-end-support-on-the-same-day\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/wade.one\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\".NET 8 and .NET 9 End Support on the Same Day\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/\",\"name\":\"wade.one\",\"description\":\"wade womersley - york based software engineer\",\"publisher\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wade.one\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\",\"name\":\"Wade Womersley\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"contentUrl\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"width\":202,\"height\":200,\"caption\":\"Wade Womersley\"},\"logo\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":".NET 8 and .NET 9 End Support on the Same Day - wade.one","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wade.one\/blog\/2026\/07\/16\/dotnet-8-and-dotnet-9-end-support-on-the-same-day\/","og_locale":"en_GB","og_type":"article","og_title":".NET 8 and .NET 9 End Support on the Same Day - wade.one","og_description":".NET 8 and .NET 9 both reach end of support on November 10, so teams on either runtime should plan the move to .NET 10 now.","og_url":"https:\/\/wade.one\/blog\/2026\/07\/16\/dotnet-8-and-dotnet-9-end-support-on-the-same-day\/","og_site_name":"wade.one","article_published_time":"2026-07-16T17:00:00+00:00","og_image":[{"width":1518,"height":1506,"url":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/Wade-Logo-cropped.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_creator":"@wadewomersley","twitter_site":"@wadewomersley","twitter_misc":{"Estimated reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wade.one\/blog\/2026\/07\/16\/dotnet-8-and-dotnet-9-end-support-on-the-same-day\/#article","isPartOf":{"@id":"https:\/\/wade.one\/blog\/2026\/07\/16\/dotnet-8-and-dotnet-9-end-support-on-the-same-day\/"},"author":{"name":"","@id":""},"headline":".NET 8 and .NET 9 End Support on the Same Day","datePublished":"2026-07-16T17:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/wade.one\/blog\/2026\/07\/16\/dotnet-8-and-dotnet-9-end-support-on-the-same-day\/"},"wordCount":204,"publisher":{"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3"},"keywords":["dotnet","dotnet-10","dotnet-8","dotnet-9"],"articleSection":["Programming","Software Engineer"],"inLanguage":"en-GB"},{"@type":"WebPage","@id":"https:\/\/wade.one\/blog\/2026\/07\/16\/dotnet-8-and-dotnet-9-end-support-on-the-same-day\/","url":"https:\/\/wade.one\/blog\/2026\/07\/16\/dotnet-8-and-dotnet-9-end-support-on-the-same-day\/","name":".NET 8 and .NET 9 End Support on the Same Day - wade.one","isPartOf":{"@id":"https:\/\/wade.one\/blog\/#website"},"datePublished":"2026-07-16T17:00:00+00:00","breadcrumb":{"@id":"https:\/\/wade.one\/blog\/2026\/07\/16\/dotnet-8-and-dotnet-9-end-support-on-the-same-day\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wade.one\/blog\/2026\/07\/16\/dotnet-8-and-dotnet-9-end-support-on-the-same-day\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/wade.one\/blog\/2026\/07\/16\/dotnet-8-and-dotnet-9-end-support-on-the-same-day\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wade.one\/blog\/"},{"@type":"ListItem","position":2,"name":".NET 8 and .NET 9 End Support on the Same Day"}]},{"@type":"WebSite","@id":"https:\/\/wade.one\/blog\/#website","url":"https:\/\/wade.one\/blog\/","name":"wade.one","description":"wade womersley - york based software engineer","publisher":{"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wade.one\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":["Person","Organization"],"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3","name":"Wade Womersley","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","url":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","contentUrl":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","width":202,"height":200,"caption":"Wade Womersley"},"logo":{"@id":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png"}}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":1337,"url":"https:\/\/wade.one\/blog\/2026\/06\/05\/dotnet-10-is-about-the-support-window-as-much-as-c-sharp-14\/","url_meta":{"origin":1377,"position":0},"title":".NET 10 Is About the Support Window as Much as C# 14","author":"Wade","date":"June 5, 2026","format":false,"excerpt":".NET 10 matters because it is an LTS release, not only because it brings C# 14 and another round of platform features.","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/wade.one\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1306,"url":"https:\/\/wade.one\/blog\/2026\/05\/18\/dotnet-10-is-the-c-sharp-upgrade-that-matters\/","url_meta":{"origin":1377,"position":1},"title":".NET 10 Is the C# Upgrade That Matters","author":"Wade","date":"May 18, 2026","format":false,"excerpt":".NET 10 matters for C# teams because it is an LTS release, not just because it brings another round of language and tooling features.","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/wade.one\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1340,"url":"https:\/\/wade.one\/blog\/2026\/06\/07\/c-sharp-14-field-backed-properties-are-small-but-useful\/","url_meta":{"origin":1377,"position":2},"title":"C# 14 field-backed Properties Are Small but Useful","author":"Wade","date":"June 7, 2026","format":false,"excerpt":"C# 14's field keyword reduces boilerplate in validation-heavy properties without turning ordinary property code into magic.","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/wade.one\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1307,"url":"https:\/\/wade.one\/blog\/2026\/05\/19\/c-sharp-14-extension-members-should-reduce-helper-class-noise\/","url_meta":{"origin":1377,"position":3},"title":"C# 14 Extension Members Should Reduce Helper Class Noise","author":"Wade","date":"May 19, 2026","format":false,"excerpt":"C# 14 extension members give teams a cleaner way to express extension properties and static-style helpers, but they still need restraint.","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/wade.one\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1152,"url":"https:\/\/wade.one\/blog\/2026\/03\/25\/php-8-5-4-released-upgrade-if-you-re-on-8-5\/","url_meta":{"origin":1377,"position":4},"title":"PHP 8.5.4 Released: Upgrade if You&#8217;re on 8.5","author":"","date":"March 25, 2026","format":false,"excerpt":"PHP 8.5.4 is a bug-fix release, not a feature release. If you are already on PHP 8.5, you should update. If you are still on 8.4, this alone is not the reason to jump.","rel":"","context":"In &quot;PHP&quot;","block_context":{"text":"PHP","link":"https:\/\/wade.one\/blog\/category\/php\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1253,"url":"https:\/\/wade.one\/blog\/2026\/05\/04\/the-node-js-release-schedule-change-is-good-for-production-teams\/","url_meta":{"origin":1377,"position":5},"title":"The Node.js Release Schedule Change Is Good for Production Teams","author":"","date":"May 4, 2026","format":false,"excerpt":"Node.js moving toward one major release per year should make production planning simpler for teams that already care about LTS stability.","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/wade.one\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts\/1377","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/comments?post=1377"}],"version-history":[{"count":1,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts\/1377\/revisions"}],"predecessor-version":[{"id":1386,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts\/1377\/revisions\/1386"}],"wp:attachment":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/media?parent=1377"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/categories?post=1377"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/tags?post=1377"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}