From the discussion about ReadOnlySpan\
It's worth mentioning that these areas are still under development, so they might miss the 2.1 train.
Just checking in to see if there's an update on this and whether we may expect the new System.Text.Json APIs to make it into NS2.1?
Any updates? Will .NET Standard 2.1 contain System.Text.Json?
Will .NET Standard 2.1 contain System.Text.Json?
No, but System.Text.Json is available as a NuGet package for .NET Standard 2.0+.
Will .NET Standard 2.1 contain System.Text.Json?
No, but
System.Text.Jsonis available as a NuGet package for .NET Standard 2.0+.
That's incredibly disappointing, as various projects with various hard dependencies on various different versions of Newtonsoft.Json have been a significant pain point for developers everywhere (Azure Functions anyone?).
One of the main reasons System.Text.Json was introduced was to relieve this pain (as per your blog post, "Remove Json.NET dependency from ASP.NET Core" which is actually applicable everywhere), but not having it included in Standard means:
Newtonsoft.Json will simply switch that dependency to System.Text.Json, which means that the versioning issue just moves from the latter to the formerSystem.Text.Json: it has a smaller API surface than Newtonsoft.Json and you have to make code changes to use System.Text.Json, but either way there's still an extra package to download, so why bother?Now instead of having different versions of Newtonsoft.Json causing pain, you have different versions of Newtonsoft.Json _and_ System.Text.Json causing pain. You haven't fixed anything, in fact you've made it worse!
System.Text.Json is great for .NET Core 3.0 users who have it built-in, but they're not the primary consumers of JSON; NuGet packages are. And NuGet packages are libraries, and libraries should target .NET Standard in order to be available to the widest audience.
I get that System.Text.Json is still very alpha and still very buggy and you want to get Standard 2.1 out the door, but built-in JSON support it would have been an absolutely killer feature for 2.1, far more so than Span<T> or ReadOnly<T>.
I'm very much hoping that Standard 2.2, including System.Text.Json, will follow hot on 2.1's heels.
Hang on... .NET Core 3.0 is scheduled to release literally next month, and I can't see Standard 2.1 releasing before that. And since System.Text.Json is built into Core 3.0, that API will have to be feature-complete and bug-free for Core 3.0 to ship.
Which means that System.Text.Json should be finalised within the next month - so unless it depends upon Core-specific bits, it should be a relative piece of cake to copy that code to Standard 2.1.
What obstacles are there to getting this done?
Most helpful comment
Just checking in to see if there's an update on this and whether we may expect the new System.Text.Json APIs to make it into NS2.1?