You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Migrate from Newtonsoft.Json to System.Text.Json #83
Long-tail consolidation — currently both Newtonsoft.Json and System.Text.Json are in the dependency graph. Newtonsoft.Json is used directly in several places + dragged in by NJsonSchema.NewtonsoftJson. System.Text.Json is the modern standard and ships with .NET.
Scope:
Replace direct usages of Newtonsoft.Json.Linq / JsonConvert etc. with System.Text.Json. Largest call sites likely in Fallout.Utilities.Text.Json, Fallout.SolutionModel, Fallout.GlobalTool parameters file handling.
Replace NJsonSchema.NewtonsoftJson with NJsonSchema configured to use System.Text.Json (NJsonSchema supports it natively).
Drop Newtonsoft.Json PackageVersion.
Bigger lift; benefits: one fewer dep, modern JSON pipeline, smaller package graph.
Anchor work landed: StronglyTypedSolutionGenerator migrated to STJ in 54a1655 (parameters.json read, the simplest isolated callsite).
Three of the six sub-issues are independent and pickable now: STJ-1, STJ-2, STJ-6. STJ-4/STJ-5 wait on STJ-3, which is the breaking-change one and needs deliberate scheduling against a major release.
Closed — entire STJ migration tree complete. STJ-1 #114, STJ-2 #115, STJ-3 #116, STJ-4 #117, STJ-5 #118, STJ-6 #119. No Fallout source uses Newtonsoft.Json anymore; the package survives in the closure only as a transitive of NuGet.Packaging + Serilog.Formatting.Compact.Reader.
Activity
chore(deps): start Newtonsoft → System.Text.Json migration in Strongl…
chore(deps): start Newtonsoft → System.Text.Json migration in Strongl…
ChrisonSimtian commentedon May 22, 2026
Scoping done. Migration broken into 6 sub-issues (this issue stays as the umbrella tracker; closes when all six close):
JObject.Parse/JsonConvertcallsitesFallout.Utilities.Text.Jsonto STJFallout.Tooling(blocked on STJ-3)Fallout.Tooling.Generator(blocked on STJ-3)Fallout.Common.Tools.*TasksAPI integrationsAnchor work landed:
StronglyTypedSolutionGeneratormigrated to STJ in 54a1655 (parameters.json read, the simplest isolated callsite).Three of the six sub-issues are independent and pickable now: STJ-1, STJ-2, STJ-6. STJ-4/STJ-5 wait on STJ-3, which is the breaking-change one and needs deliberate scheduling against a major release.
chore(deps): drop Newtonsoft.Json from Fallout.SourceGenerators (#83 …
feat(net): STJ overloads for HTTP JSON helpers, [Obsolete] Newtonsoft…
feat(utilities.text.json): STJ overloads for keystone JsonExtensions …
feat(text.json): JsonObject helpers + migrate 3 pragma'd callers off …
chore(text.json): [Obsolete] remaining Newtonsoft surface + migrate S…
feat(utilities.text.json)!: remove Newtonsoft surface — STJ-3 of #83 (#…
feat!: close the #83 Newtonsoft migration tree — STJ-6, STJ-2 tail (#119
ChrisonSimtian commentedon May 25, 2026
Closed — entire STJ migration tree complete. STJ-1 #114, STJ-2 #115, STJ-3 #116, STJ-4 #117, STJ-5 #118, STJ-6 #119. No Fallout source uses Newtonsoft.Json anymore; the package survives in the closure only as a transitive of NuGet.Packaging + Serilog.Formatting.Compact.Reader.