Latest / DevQuestions with Tim Corey / 331. .NET 8 and .NET 9 Both Expire Next Month: Is LTS Still a Thing?
Transcript
- 0:00SPEAKER_01: .NET 8 and.NET 9 both expire in November.
- 0:03SPEAKER_01: I've seen some questions about this, including if long-term support or LTS is still a thing, and why.NET 9 is already expiring when.NET 10 has only been out for a year.
- 0:15SPEAKER_01: The reality is that.NET 9 support was actually extended.
- 0:20SPEAKER_01: But let's talk about what LTS versus STS means, why this process is so fast, and what will be supported going forward in today's episode of Dev Questions.
- 0:39SPEAKER_00: Welcome to the DevQuesti podcast with Tim Corey.
- 0:43SPEAKER_01: Software development is more than just writing code.
- 0:45SPEAKER_01: So let's talk about the rest of it.
- 0:47SPEAKER_01: Specifically, let's talk about the changes to STS and why we have two versions of.NET going out of support at the same time.
- 0:56SPEAKER_01: Now, let's start with what is LTS and what is STS?
- 1:01SPEAKER_01: We've talked before about this, but LTS is the long-term support for.NET.
- 1:06SPEAKER_01: So when an LTS version comes out, and they're the even versions, so 8, 10, 12.
- 1:12SPEAKER_01: So when.NET 10 came out, it was supported, or will be supported for three years, which means that when it came out last year in 2025, it'll be supported through 2028 at the same time.
- 1:26SPEAKER_01: So November is when it came out, it will be supported through November of 2028.
- 1:31SPEAKER_01: An STS version used to be supported for 18 months.
- 1:35SPEAKER_01: So it'd come out in November.
- 1:37SPEAKER_01: And let's say.NET 9 came out in, was it 2024?
- 1:44SPEAKER_01: So it was supported through 2026 in May.
- 1:49SPEAKER_01: Well, they said, hey, you know what?
- 1:50SPEAKER_01: Instead of extending it to May, let's extend it even further and make it supported for two years.
- 1:56SPEAKER_01: So instead of 18 months, two years.
- 1:58SPEAKER_01: So it's supported then through the the same time as the LTS version.
- 2:05SPEAKER_01: That way there is no penalty for going to an STS version.
- 2:10SPEAKER_01: So if you're on.NET 8 and you said, hey, let's go upgrade a.NET 9, well,.NET 9 went out of support before.NET 8 did, which kind of gives you a penalty for going to the STS version.
- 2:24SPEAKER_01: So Microsoft changed that so that it's three years and two years.
- 2:28SPEAKER_01: That way the 9 and 8 expiration date, which is November of this year, goes out of expiration at the same time.
- 2:36SPEAKER_01: Their NS support is the same time, which means that you can go from.NET 8 to.NET 9 and not have any penalty for doing so.
- 2:46SPEAKER_01: You still have to upgrade on a schedule.
- 2:48SPEAKER_01: You still have to make sure that you're moving forward, but it's not something you have to then think, oh, we have to go even faster a.NET 10.
- 2:57SPEAKER_01: You don't.
- 2:58SPEAKER_01: You now have two years instead of 18 months.
- 3:01SPEAKER_01: Now the way this, the reason this way works this way is because Microsoft can't support everything forever, right?
- 3:09SPEAKER_01: There's um new security updates that have to happen all the time and trying to backport those into different versions really takes a lot of time and effort and it's very costly.
- 3:20SPEAKER_01: So the other thing is that we used to have a longer LTS version.
- 3:26SPEAKER_01: With.NET framework the LTS lasted a lot longer.
- 3:29SPEAKER_01: But that's because we got updates a lot less.
- 3:33SPEAKER_01: So what was happening was we'd get you know three, four, five years between an update.
- 3:39SPEAKER_01: And so yeah, they were supported for longer because there was no new version to go to beyond that one.
- 3:46SPEAKER_01: The problem with that is that your code starts to rot a bit.
- 3:51SPEAKER_01: And what I mean by that is you start to settle where your your dependencies may start to change but you're like ah I'm not going to upgrade those.
- 3:59SPEAKER_01: I don't want to you know touch anything it's it's working.
- 4:02SPEAKER_01: And all of a sudden a new version of.NET comes out but it because it was so long coming out there's a lot of changes and potentially a lot of breaking changes in how it works, which means a very high bar to get to the next version.
- 4:18SPEAKER_01: And so companies would kind of go, we just can't do it.
- 4:22SPEAKER_01: It's just too much work to get from one to the next and so we're going to stay here.
- 4:26SPEAKER_01: And that's why you still see companies today that are on.NET framework or.NET framework 3.5 even not even 4.8 the latest.
- 4:36SPEAKER_01: So they're kind of stuck in older version or a very older version and they feel like they can't move forward.
- 4:43SPEAKER_01: Microsoft's philosophy was hey let's help these companies move forward by making that step-by-step progression much, much easier.
- 4:53SPEAKER_01: I have a number of.NET apps that came out in previous versions of.NET.
- 4:58SPEAKER_01: I have one app that was.NET 6 originally I believe it's a suggestion site app was.NET 6.
- 5:03SPEAKER_01: I've upgraded that all the way to 10 just by changing the numbers.
- 5:07SPEAKER_01: So it gets the benefits of the upgrades and there are significant benefits to just changing the number but it's also a very easy process.
- 5:17SPEAKER_01: Now I'm not saying that your production app is just going to be changing a number because you have dependencies.
- 5:23SPEAKER_01: And those dependencies, yeah, they're going to need to make sure that you make changes there because some dependencies go out of support as well and maybe you can't just upgrade those and so you're kind of stuck there.
- 5:36SPEAKER_01: The other thing is if you're using deprecated things, which there aren't many in.NET.NET really tries hard not to deprecate things and not to stop supporting those things going forward or at least have those things you know still in the in the language in the framework.
- 5:54SPEAKER_01: So there's not many things that that are breaking changes that are are massive issues, but there are some.
- 6:00SPEAKER_01: And so if you have one of those, yeah, that's going to take more work as well.
- 6:05SPEAKER_01: So it's I'm not saying it's just a number change like it is for me because I have less dependencies in a smaller app.
- 6:12SPEAKER_01: But it's a very easy change compared to a.NET framework upgrade.
- 6:17SPEAKER_01: So this allows Microsoft to move faster, which allows us to get better things quicker into our applications and it allows our applications to be upgraded more frequently and more easily so that we can potentially stay on the latest versions, which make sure we it protects us against things like new security issues.
- 6:42SPEAKER_01: So with all of that we have.NET 8 and.NET 9 for the first time we have two versions of.NET expiring at the same time in November.
- 6:53SPEAKER_01: Why?
- 6:54SPEAKER_01: Well we already have.NET 10.
- 6:56SPEAKER_01: We've had.NET 10 for almost a year now.
- 6:59SPEAKER_01: So this is being recorded in October so we have one more month of.NET 10 before it's been out for a year.
- 7:06SPEAKER_01: But then we get.NET 11.
- 7:08SPEAKER_01: So we'll have.NET 10 which is the LTS version, a long-term support version, three years.
- 7:13SPEAKER_01: We have that it's been out for a year.
- 7:15SPEAKER_01: And we have.NET 11 now, which is the STS version, which will be supported for two years.
- 7:23SPEAKER_01: So that means that we now have two versions of.NET when the other two go out of support.
- 7:31SPEAKER_01: Now let's talk really briefly about what does out support mean?
- 7:35SPEAKER_01: Because some people think that means that there's a big switch somewhere at Microsoft, they pull that switch and the lights turn off.
- 7:41SPEAKER_01: And that's not really what happens.
- 7:43SPEAKER_01: What end of support means is that there's not going to be more patches for that.NET version.
- 7:50SPEAKER_01: So if there's a security flaw or something else that comes out that will not be fixed in the older versions.
- 7:57SPEAKER_01: So that's the support you would get normally with your.NET language which means your.NET language 8, 765, these still work.
- 8:07SPEAKER_01: It's just they're not supported with new security fixes or bug fixes or other things.
- 8:13SPEAKER_01: So if it's still working it's not going to turn off because November hits.
- 8:18SPEAKER_01: However for security reasons you really want to be on a supported version of.NET Okay?
- 8:27SPEAKER_01: So that's why when I recommend people you know with to use.NET I say hey I want you to stay on the latest version of.NET and I actually encourage companies to use the STS version as well not just the LTS version.
- 8:44SPEAKER_01: And here's why because when you move from one version to the next it's a small step.
- 8:49SPEAKER_01: There are very few breaking changes.
- 8:51SPEAKER_01: There are very few things that have to change in your application and hopefully your dependencies stay up to date.
- 8:58SPEAKER_01: The other thing is that by doing that small step twice, it's much easier to do than having one step that you do that's a little bit larger from say eight to 10, especially if you go like six to 10.
- 9:12SPEAKER_01: There's lots of changes that have happened but if you did it a bite at a time as opposed to trying to eat the whole elephant at once then you you got a much easier process.
- 9:23SPEAKER_01: So I recommend people going on every single version of.NET.
- 9:28SPEAKER_01: And yes, that means that every year you're doing some work on your application to upgrade it.
- 9:34SPEAKER_01: However, I recommend that every time you do an upgrade that you work on automating the process work on streamlining the process.
- 9:42SPEAKER_01: If you have a dependency that causes a problem every time evaluate that dependency if it's really worth it.
- 9:49SPEAKER_01: Maybe you can get around that dependency by not having it.
- 9:53SPEAKER_01: Oftentimes companies will take dependencies that they don't actually need.
- 9:58SPEAKER_01: Maybe they use 5% of a dependency but it was easy just to put it in well take it out.
- 10:04SPEAKER_01: Do it yourself or use a different dependency that's more reliable or more easily updated.
- 10:10SPEAKER_01: So make that process easier and easier so you can get faster and faster at it, which means that you're continually trimming and cleaning your code base.
- 10:19SPEAKER_01: You're continually making your code base better, which also means that when you get the new version you make your code base faster because every version of.NET includes performance improvements.
- 10:30SPEAKER_01: And that's really your your carrot, right?
- 10:33SPEAKER_01: When you're talking to management and saying hey I want to upgrade our version of.NET and they see no reason to do so, talk about the security issues.
- 10:41SPEAKER_01: Talk about the fact that you want to stay on a version that is supported because of those security issues but then also talk about that carrot which is we'll also get performance improvements out of this.
- 10:54SPEAKER_01: So if you find yourself falling behind now is a great time to start working on an upgrade plan.
- 11:00SPEAKER_01: Because with.NET 11 coming out and.NET 8 and 9 going out of support in a month, it's a great time to start planning to start working towards changing how you do things and start working towards that upgrade process.
- 11:15SPEAKER_01: And you can upgrade a.NET 10 right now because you'll have two more years of support.
- 11:20SPEAKER_01: But then when 11 comes out you just did 10, you know what the process looks like it might be a good thing to go to 11 as well just to keep that momentum going.
- 11:30SPEAKER_01: Okay.
- 11:31SPEAKER_01: So part of this plan is going to be communicating and making sure that you communicate the importance of the upgrades use that carrot of we're going to improve speed while at the same time use the kind of the hammer of hey we need to make sure that we're protecting our application because our our company depends on this application and we can't have security issues that we have to fix right away or they endanger our company or our customers.
- 12:00SPEAKER_01: So we want to stay on a supported version okay work with management make sure they understand the both the importance of the upgrades but also the benefits as well.
- 12:10SPEAKER_01: Thanks for listening and as always I am Tim Corey.
- 12:14SPEAKER_00: Thank you for joining us for this episode of Dev Questions.
- 12:17SPEAKER_00: When you're ready to learn to think and code like a professional developer head over to I amtimcorey.com and enroll in a course