They have a section for breaking changes in .NET 11, containing a few dozen items. It starts with "If you're migrating an app to .NET 11", as if you'd ever have a choice. Microsoft forces you to upgrade every 2 years, and they ship breaking changes. It is completely unacceptable that these two coexist, and I'm confused why more people aren't angry about it.
Either you should not be forced to upgrade, or backward compatibility should be guaranteed -- not both. But Microsoft is happy to say "hey, we're going to completely abandon support for every version of .NET every 2 years, and if you can't keep up to date then everything that goes wrong is all your fault." Meanwhile, they have no problem breaking your code.
This essentially kills the possibility of just writing a bunch of small, useful libraries, and having them be useful forever. It is the antithesis of a healthy software ecosystem. Are you really expecting that every single open source library that is referenced by a reference of your references is going to be maintained in the face of breaking changes every 2 years? If not, then upgrading your version of .NET is just a gamble that things won't randomly break. But you must upgrade, or you're a bad developer who's leaving your apps vulnerable and every automated security checking system in the world will yell at you about how awful you are. You must upgrade everything you have ever written every two years, and hope that every library you've ever depended on does the same, or you are putting yourself at risk of some breaking change sneaking its way in, or leaving yourself vulnerable to a critical security issue that Microsoft refuses to back-apply.
I cannot understand why I'm the only one shouting from the rooftops about this. It's completely unacceptable to me.
If I wrote a useful library a few years back and it targeted net472 and net6.0 then… it just keeps targeting those? I can still use it from a net48 and net10.0 app just fine?
Plenty of systems still use .NET 8/9 today. It's very likely that there are some websites that we use daily running on .NET 8 with ASP. Microsoft never barged in our server room and forced us to upgrade .NET, but YMMV.