| 14 Dec 2024 |
GGG | that's kinda wild | 02:18:03 |
6pak | the breaking changes are mostly theoretical | 02:18:31 |
6pak | practically you can almost always roll forward | 02:18:39 |
GGG | yeah, given MS' crippling fear of breaking changes, I doubt the runtime would have any | 02:18:51 |
GGG | I usually only see breaking changes on packages and the SDK itself, don't think I've seen one in the runtime | 02:19:07 |
GGG | other than with stuff like BinarySerializer | 02:19:12 |
6pak | keep in mind .NET SDK also breaks 4 times a year (feature bands) | 02:19:46 |
6pak | yeah it's generally long deprecated stuff like that | 02:20:09 |
6pak | the most impactful one I can remember is the stream changes | 02:20:47 |
GGG | stream changes? | 02:24:27 |
6pak | https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/partial-byte-reads-in-streams | 02:24:40 |
GGG | oh | 02:24:52 |
6pak | impactful as in I've seen something break myself | 02:24:59 |
6pak | it's generally really subtle stuff | 02:25:11 |
6pak | almost never actual binary breaking changes | 02:25:35 |
6pak | actually even BinarySerializer wasn't fully removed was it? | 02:26:04 |
6pak | * actually even BinaryFormatter wasn't fully removed was it? | 02:26:20 |
GGG | yeah, seems to be the case from what I'm seeing | 02:26:52 |
6pak | yeah it just throws | 02:27:00 |
6pak | I don't know any case of an api being removed then | 02:27:06 |
GGG | the actual class hasn't, but it won't let you compile and all of its members throw now | 02:27:15 |
GGG | * the actual class hasn't, but it won't let you compile new code using it and all of its members throw now | 02:27:22 |
GGG | I was thinking we could use this roll forward feature to help with .NET EOL, but the EOL includes the packages, so it's a no-go | 02:28:40 |
6pak | which packages? | 02:29:16 |
GGG | all of the runtime ones, System.Text.Json, System.IO, etc. | 02:31:18 |
6pak | wym by help with .NET EOL | 02:31:50 |
GGG | there's currently a huge effort to upgrade every package that uses .NET 6 or 7 to a maintained version | 02:32:21 |
GGG | if we could just roll them forward then it would avoid possible security issues from them being EOL | 02:32:35 |
GGG | but then there's the runtime packages as well that wouldn't be rolled forward | 02:32:46 |
6pak | corlib would be taken from the latest runtime | 02:33:18 |