diff --git a/src/Argon/Serialization/DefaultContractResolver.cs b/src/Argon/Serialization/DefaultContractResolver.cs index 57e758bd..37d34085 100644 --- a/src/Argon/Serialization/DefaultContractResolver.cs +++ b/src/Argon/Serialization/DefaultContractResolver.cs @@ -28,10 +28,10 @@ public class DefaultContractResolver : IContractResolver /// public NamingStrategy? NamingStrategy { get; set; } - // read-only: these built-in converters are read (unsynchronized) during contract creation on - // arbitrary threads, so the collection must not be publicly mutable. Backed by an array so the - // internal GetMatchingConverter (which takes IList) can still consume it without a copy. - static readonly JsonConverter[] builtInConverters = + // these built-in converters are read (unsynchronized) during contract creation on arbitrary + // threads. Exposed as a List for binary compatibility; the internal GetMatchingConverter (which + // takes IList) consumes it directly without a copy. + static readonly List builtInConverters = [ new StringBuilderConverter(), new ExpandoObjectConverter(), @@ -45,7 +45,7 @@ public class DefaultContractResolver : IContractResolver new StringWriterConverter() ]; - public static IReadOnlyList Converters => builtInConverters; + public static List Converters => builtInConverters; /// /// Initializes a new instance of the class. diff --git a/src/Directory.Build.props b/src/Directory.Build.props index e2735a28..af5e4425 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -2,7 +2,7 @@ CS1591;CS1573;NU1605;NU1608;NU1109 preview - 0.35.1 + 0.35.2 1.0.0 Copyright © James Newton-King 2008, Copyright © Simon Cropp 2022 Json