I once upgraded a legacy .NET Framework monolith to .NET 8. Thought I was home free after resolving 300 compilation errors, until System.Text.Json silently failed to deserialize private setters that Newtonsoft.Json handled with zero issues.
Production was down for some minutes while I had to hunt down missing attributes.