.NET and .NET Framework — Migration from Newtonsoft.Json to System.Text.Json (v24.1)

News
02 April 2024

What Will Change in v24.1

In our v24.1 release cycle (set to ship in June 2024), the following DevExpress products will use Microsoft’s System.Text.Json instead of Newtonsoft.Json for JSON serialization-related tasks in runtime code:

  • Data Access Library: BI Dashboards (DashboardJsonDataSource) and Reporting (JsonDataSource) for .NET 6+ WinForms, WPF, Blazor, ASP.NET Core apps (.NET Framework apps will continue to use the Newtonsoft.Json library. We expect to switch to System.Text.Json in our v24.2 release cycle) - Breaking Change.
  • Data Access Library for .NET 6+ and .NET Framework DevExtreme, Blazor and ASP.NET Core apps (a System.Text.Json-compatible version of DevExtreme.AspNet.Data v4.0.0+ is now available) - Breaking Change.
  • Backend Web API Service for .NET 6+ non-XAF apps (DevExtreme, Blazor, .NET MAUI, etc.) and XAF apps - Breaking Change.
  • Maps in .NET 6+ WinForms in WPF, Blazor, ASP.NET Core apps (.NET Framework apps will continue to use the Newtonsoft.Json library. We expect to switch to System.Text.Json in our v24.2 release cycle) - Breaking Change.
  • Blazor Rich Text Editor - no Breaking Changes.
Our design-time code (wizards, designers and tools) may still continue to use Newtonsoft.Json, because of dependencies within Visual Studio (some design-time services still rely on Newtonsoft.Json, but we believe this will change in the future). Remaining .NET Framework products that currently rely on the Newtonsoft.Json library, will likely switch to System.Text.Json in the future. Here we rely on the minimally supported .NET Framework version for DevExpress products, which will likely change from 4.5.2 to 4.6.2 in v24.2.

Reasons for Change

  • Microsoft designed System.Text.Json for security standard compliance (the RFC 8259 specification) and performance (both faster and lower memory allocation).
  • Microsoft uses System.Text.Json in many their products since the release of ASP.NET Core 3.0 and also recommends it as a long-term solution for .NET developers. For more information, please refer to Overview | Migrate from Newtonsoft.Json to System.Text.Json.
  • Microsoft supports System.Text.Json for .NET 6+ and .NET Framework 4.6.2+ apps. This support allows us to use this library across a wide range of DevExpress libraries/components.

Your Feedback Matters!

Thanks,
Dennis Garavsky
Principal Product Manager
dennis@devexpress.com

Free DevExpress Products - Get Your Copy Today

The following free DevExpress product offers remain available. Should you have any questions about the free offers below, please submit a ticket via the DevExpress Support Center at your convenience. We'll be happy to follow-up.