Releases: JamesNK/Newtonsoft.Json
Releases · JamesNK/Newtonsoft.Json
10.0.1
- New feature - Added async read support to JsonReader
- New feature - Added async write support to JsonWriter
- New feature - Added async support for loading JObject and JArray
- New feature - Added non-allocating parsing of double and decimal values
- New feature - Added support for TypeConverters to netstandard1.0+
- New feature - Added support for BigInteger to netstandard1.3+
- New feature - Added support for ISerializable to netstandard1.3+
- New feature - Added support for XmlDocument to netstandard1.3+
- New feature - Added support for SerializableAttribute and NonSerializedAttribute to netstandard1.3+
- New feature - Added ISerializationBinder
- New feature - Added SerializationBinder properties to JsonSerializer and JsonSerializerSettings
- New feature - Added TypeNameAssemblyFormatHandling
- New feature - Added TypeNameAssemblyFormatHandling properties to JsonSerializer and JsonSerializerSettings
- New feature - Added support for root object selector in JSONPath filters
- New feature - Added support for multiple names in JSONPath scan filter
- New feature - Added support for any combination of paths and values in JSONPath filter expressions
- New feature - Added support for extension data names to NamingStrategy
- New feature - Added ProcessExtensionDataNames flag to NamingStrategy
- New feature - Added JsonWriter.AutoCompleteOnClose to control whether JSON is auto-completed on JsonWriter.Close
- New feature - Added JsonReaderException constructor with path, line number, line position
- New feature - Added JsonWriterException constructor with path
- New feature - Added JsonReader.SetToken method overload with option not to update position array index
- New feature - Added support for automatically calling single constructor on immutable structs
- Change - Removed .NET 4 portable class library target from NuGet package
- Change - Removed obsolete JsonConverter.GetSchema method
- Change - Removed obsolete constructor from DefaultContractResolver
- Change - Removed obsolete async methods from JsonConvert
- Change - Removed obsolete OnDeserialized, OnDeserializing, OnSerialized, OnSerializing, OnError from JsonContract
- Change - Removed obsolete JsonDictionaryContract.PropertyNameResolver
- Change - Removed obsolete ConstructorParameters, OverrideConstructor, ParametrizedConstructor from JsonObjectContract
- Change - Obsoleted TypeNameAssemblyFormat properties on JsonSerializer and JsonSerializerSettings
- Change - Obsoleted SerializationBinder
- Change - Obsoleted Binder properties on JsonSerializer and JsonSerializerSettings
- Change - Obsoleted FormatterAssemblyStyle in non-full .NET targets
- Change - Obsoleted Newtonsoft.Json.Bson (moved to new NuGet package)
- Change - Improved constructor parameter binding on .NET Core and portable builds
- Change - Improved error when attempting to convert root JSON object property to an XML attribute
- Change - Changed exception thrown when parsing invalid Unicode escape sequence to JsonReaderException
- Change - Changed StringEnumConverter.AllowIntegerValues to also reject reading integer strings
- Change - Changed StringEnumConverter.AllowIntegerValues to also reject writing enum values with no name
- Fix - Fixed JsonTextReader.ReadAsXXX methods not erroring on missing commas between values
- Fix - Fixed error when serializing F# lists with F# 4.1+
- Fix - Fixed StringEnumConverter reading specified enum names that contain a comma
- Fix - Fixed using a TraceWriter with nullable bytes
- Fix - Fixed deserializing null Regex values
- Fix - Fixed deserializing DataTable with error handling
- Fix - Fixed DynamicReflectionDelegateFactory creating typed value type constructors
- Fix - Fixed deserializing with type naming and complex nested generic types
- Fix - Fixed error when converting certain JSON to XML on .NET Core
- Fix - Fixed error handling skipping reading the next object value
- Fix - Fixed date XML precision when converting certain JSON to XML on portable builds
- Fix - Fixed not serializing readonly properties as references if they have corresponding creator parameters
- Fix - Fixed type name being written with nullable structs and TypeNameHandling.Auto
- Fix - Fixed deserializing a duplicate dictionary key from a parameterized constructor
- Fix - Fixed not erroring when deserializing incomplete JSON with a parameterized constructor
- Fix - Fixed incorrectly parsing scan filter when name is quoted
- Fix - Fixed return type for SByte and SByteNullable in JToken.ToObject
- Fix - Fixed deserializing generic only IList types with a constructor override
- Fix - Fixed null reference error with ReadAsBytes and an empty JSON object
- Fix - Fixed StringEnumConverter when EnumMember defines members that differ only by case
- Fix - Fixed serializing protected override properties
- Fix - Fixed merging null with complex type and MergeNullValueHandling.Ignore
- Fix - Fixed roundtripping double.MaxValue and float.MaxValue as dictionary keys
- Fix - Fixed JsonValidatingReader not closing underlying reader
- Fix - Fixed writing duplicate nulls to trace with TraceJsonWriter.WriteValue for object, Uri, byte[]
- Fix - Fixed BsonWriter.WriteValue erroring for null Uri or byte[]
- Fix - Fixed not calling nullable WriteValue overloads in TraceJsonWriter
- Fix - Fixed serializer not throwing an error when there is a comment followed by additional content when CheckAdditionalContent is true
- Fix - Fixed JObject/JArray Parse not throwing an error when there is a comment followed by additional content
- Fix - Fixed deserializing non-string values in some XML nodes
- Fix - Fixed converting XML to JSON when json:Array and xmlns:json attributes are used directly on the array's element
- Fix - Fixed error when attempting to populate values into read-only collection after creating object from non-default constructor
9.0.1
- New feature - Added support for .NET Core with netstandard1.0
- New feature - Added NamingStrategy, CamelCaseNamingStrategy, SnakeCaseNamingStrategy
- New feature - Added naming strategy properties to JsonObjectAttribute and JsonPropertyAttribute
- New feature - Updated build to use .NET CLI tools
- New feature - Improved performance of many operations on large JArrays
- Fix - Fixed converting XElements without a namespace attribute to JSON
- Fix - Fixed various bugs in JSONPath equals and not equals comparisions
- Fix - Fixed JsonTextReader.ReadAsString incorrectly erroring when reading some numbers
- Fix - Fixed JTokenWriter sometimes losing types when writing JTokens
- Fix - Fixed JTokenWriter sometimes losing types with JValue.WriteTo
- Fix - Fixed incorrect check when looking for non-default constructors on collections
- Fix - Fixed JsonReader.ReadAsDouble with a JValue BigInteger
- Fix - Fixed converting dollar JSON properties to XML
- Fix - Fixed dynamic property getter type information
- Fix - Fixed JsonTextReader reading NaN, Infinity, -Infinity with ReadAsDouble and ReadAsString
8.0.3
- New feature - Added MergeNullValueHandling
- New feature - Added constructor to StringEnumConverter for setting camelcase from attribute
- Fix - Fixed JsonTextWriter not getting buffer from buffer pool
- Fix - Fixed iterating over extension data multiple times
- Fix - Fixed JSONPath queries combining wildcard with property search
- Fix - Fixed serializing ISet with the .NET 4 portable assembly
- Fix - Fixed converting some property names to camel case
- Fix - Fixed F# serialization in partial trust issue
8.0.2
8.0.1
- New feature - Added IArrayPool and a setting on JsonTextReader and JsonTextWriter
- New feature - Added JsonReader.ReadAsDouble
- New feature - Added JsonLoadSettings and CommentHandling to control loading comments in LINQ to JSON
- New feature - Added JsonLoadSettings.LineInfoHandling
- New feature - Added support for JsonConstructorAttribute on list and dictionary collections
- New feature - Added support for deserializing string to Version
- New feature - Added ShouldDeserialize to JsonProperty
- New feature - Added Required.DisallowNull
- New feature - Added support for converting JSON to XML with invalid XML name chracters
- New feature - Improved case-insensitive deserialization performance
- New feature - Improved date parsing performance
- Change - Changed ReadAsDateTime, ReadAsDateTimeOffset, ReadAsBytes, ReadAsString, ReadAsInt32 on JsonReader from abstract to virtual
- Change - Changed parsing JArrays to not include comments by default
- Change - Changed JTokenWriter to use the last property instead of erroring when there are duplicate property names
- Change - Changed Uri JValues to use OriginalString when written to JSON
- Change - Changed DateTimeOffset JValues to return TypeCode.Object from IConvertible.GetTypeCode()
- Fix - Fixed converting JSON metadata array value to XML
- Fix - Fixed not including line information with some XML conversion errors
- Fix - Fixed error when writing certain JSON with escaped characters
- Fix - Fixed PopulateObject error when JSON starts with a comment
- Fix - Fixed incorrect IJsonLineInfo line position after the first line
- Fix - Fixed JSONPath when querying against Uri, Guid and Date values
- Fix - Fixed JsonReader.Path when the path is escaped
- Fix - Fixed writing JRaw twice when a TraceWriter is set
- Fix - Fixed getting the wrong value when reading certain large integers
- Fix - Fixed deserializing DataSet with a null DataTable
- Fix - Fixed deserializing a null DataSet
- Fix - Fixed error when serializing F# discriminated unions in Windows Store apps
- Fix - Fixed error serializing some types when there are conflicting interface properties
- Fix - Fixed error when settings ReferenceResolver is set to null
- Fix - Fixed DateTimeZoneHandling not being used when writing DateTime dictionary keys
- Fix - Fixed bug when converting an integer JValue to a nullable enum
- Fix - Fixed converting null string JValue to XML
- Fix - Fixed Mono generic class private field serialization bug
- Fix - Fixed error when deserializing ignored property with mismatched type
- Fix - Fixed deserializing to a type when setting JToken extension data
- Fix - Fixed setting default values onto properties already set in constructor
- Fix - Fixed casting dynamic JValue to JToken
- Fix - Fixed serializing non-zero based arrays
- Fix - Fixed reading 24 hour midnight ISO dates
7.0.1
- New feature - DiscriminatedUnionConverter performance improvements
- New feature - Added JsonRequiredAttribute
- New feature - Added JsonSerializerSettings.ReferenceResolverProvider property
- New feature - Added DefaultContractResolver.ResolveDictionaryKey
- New feature - Added JsonDictionaryContract.DictionaryKeyResolver
- New feature - Added support for reading GUID strings as bytes in JsonTextReader
- New feature - Added EqualityComparer to JsonSerializer
- Change - Changed reading GUIDs as bytes to only support 00000000-0000-0000-0000-000000000000 format
- Change - Renamed aspnetcore50 target to dnxcore50
- Change - Marked JsonSchema as obsolete
- Change - Marked DefaultContractResolver(bool) as obsolete
- Change - Marked JsonSerializerSettings.ReferenceResolver as obsolete
- Change - Marked JsonDictionaryContract.PropertyNameResolver as obsolete
- Fix - Fixed deserializing empty strings in Hashtables
- Fix - Fixed incorrect JTokenReader.Path in certain situations
- Fix - Fixed error when serializing certain objects in medium trust
- Fix - Fixed deserializing large nullable UInt64 values
- Fix - Fixed writing large UInt64 JValues
- Fix - Fixed converting unmatched namespace prefixes in JSON to XML
- Fix - Fixed IsoDateTimeConverter on DateTime properties with DateTimeFormatHandling.DateTimeOffset
- Fix - Fixed preserving object references with read only properties
- Fix - Fixed error when deserializing large JSON integers to XML
- Fix - Fixed serializing extension data properties with no setter
- Fix - Fixed serializing discriminated unions with type name or reference tracking enabled
- Fix - Fixed DataTableConverter not using JsonSerializer settings
- Fix - Fixed resolving properties from nested interfaces
- Fix - Fixed deserializing classes derived from ConcurrentDictionary
- Fix - Fixed passing default values to constructors
- Fix - Fixed serializing root references from JsonConverters
- Fix - Fixed empty strings coerced to null not erroring with Required.Always
- Fix - Fixed invalid Required.Always error with constructor property name casing
- Fix - Fixed empty string coerce check with Required.Always and constructor
6.0.8
6.0.7
- New feature - Added Annotations to LINQ to JSON
- New feature - Added DescendantsAndSelf method to JObject and JArray
- New feature - Added AncestorsAndSelf method to JToken
- New feature - Added support for tracking references in ISerializable objects
- New feature - Added CurrentToken to JTokenReader
- New feature - Added CurrentToken to JTokenWriter
- New feature - Added WriteToken(JsonToken, object) to JsonWriter
- Fix - Fixed deserializing null values onto JObject and JArray properties
- Fix - Fixed error when extension data bag doesn't inherit from Dictionary<TKey, TValue>
- Fix - Fixed deserializing complex values inside multi-dimensional arrays
- Fix - Fixed serialization settings not being used when deserializing F# unions
- Fix - Fixed MetadataTypeAttribute not being found on some platforms
- Fix - Fixed line breaks in exception messages to use Environment.NewLine
- Fix - Fixed deserializing certain XElements with comments
- Fix - Fixed casting JValues with a negative value to a nullable SByte
6.0.6
- New feature - Added support for ASP.NET CoreCLR
- New feature - Reduced memory allocations when reading and writing JSON
- New feature - Added support for passing arguments to JsonConverters with JsonConvertAttribute
- New feature - Added JsonConvert.ToString overload that takes a StringEscapeHandling parameter
- Change - Omit fields array for F# discriminated union serialization when there are no fields
- Change - Escape property names in path on readers/writers/tokens when a name contains special characters
- Change - Provide line numbers for end tokens on JTokenReader
- Fix - Fixed parsing in SelectToken when the path has an escaped property followed by an unescaped property
- Fix - Fixed error when deserializing a GUID from certain BSON
- Fix - Fixed null reference error when using a JEnumerable created with its default constructor
- Fix - Fixed line breaks in exception messages to use Environment.NewLine
- Fix - Fixed MetadataTypeAttribute reflection error on ASP.NET CoreCLR
- Fix - Fixed immutable collections reflection error on ASP.NET CoreCLR
6.0.5
- New feature - Added support for converting string JValues to enums with JToken.ToObject
- New feature - Added support for creating objects with constructors that have out and ref parameters
- New feature - Improved .NET 4.0 portable assembly performance by using compiled expression reflection
- Fix - Fixed error on Mono versions that don't properly support BigInteger
- Fix - Fixed error in JTokenWriter when disposing after adding a duplicate property
- Fix - Fixed not handling invalid JSON when deserializing with DataTableConverter
- Fix - Fixed error when serializing ObservableCollection in Windows 8 Store apps
- Fix - Fixed not matching some parameters when deserializing via a cosntructor
- Fix - Fixed potential reflection errors by creating making parameterized creators only when needed
- Fix - Fixed deserializing F# unions with out of order properties
- Fix - Fixed camelcase culture bug