Releases: JamesNK/Newtonsoft.Json
Releases · JamesNK/Newtonsoft.Json
4.5.3
4.5.2
- New feature - Added support for the SerializableAttribute and serializing a type's internal fields
- New feature - Added MaxDepth to JsonReader/JsonSerializer/JsonSerializerSettings
- New feature - Added support for ignoring properties with the NonSerializableAttribute
- Fix - Fixed deserializing a null string throwing a NullReferenceException
- Fix - Fixed JsonTextReader reading from a slow stream
- Fix - Fixed CultureInfo not being overridden on JsonSerializerProxy
- Fix - Fixed full trust security check in .NET 2.0 & .NET 3.5
- Fix - Fixed XmlNodeConverter not turning all attribute properties into attributes
- Fix - Fixed comparing JObjects to ignore property order
- Fix - Fixed reading invalid unicode surrogate pairs
4.5.1
- New feature - Windows 8 Metro build
- New feature - JsonTextReader automatically reads ISO strings as dates
- New feature - Added DateFormatHandling to control whether dates are written in the MS format or ISO format, with ISO as the default
- New feature - Added DateTimeZoneHandling to control reading and writing DateTime time zone details
- New feature - Added async serialize/deserialize methods to JsonConvert
- New feature - Added Path to JsonReader/JsonWriter/ErrorContext and exceptions with the JSON path of the current position
- New feature - Added collection type to JsonArrayContract
- New feature - Added dictionary key type and dictionary value type to JsonDictionaryContract
- New feature - Added reader/writer specific Formatting, DateFormatHandling and DateTimeZoneHandling to JsonSerializerSettings
- New feature - Added ReadAsDate and ReadAsString to JsonReader
- New feature - Added IgnoreSerializableInterface to DefaultContractResolver
- Change - Dates are now serialized as the ISO format by default
- Change - The ReadAsXXX methods on JsonReader now return null at the end of an array instead of throwing an error
- Change - JsonReaders now to set TokenType to JsonToken.None after finishing content
- Change - Deserializing will fallback to use a private default constructor
- Change - The error message when deserializing a JSON object/array onto the wrong kind of type is more descriptive
- Change - Serializing ISerializable types under partial trust now errors to fix potential security issue
- Fix - Fixed reading scientific notation numbers with no decimal point
- Fix - Fixed LinqBridge collision error in .NET 2.0 by moving types to a different namespace
- Fix - Fixed error when deserializing nullable types with no content
- Fix - Fixed JObject.Keys null reference error when the object has no items
- Fix - Fixed error handling when failing to parse array content
- Fix - Fixed error handling when there are missing required properties
- Fix - Fixed performance issue when building deeply nested JSON to LINQ to JSON objects
4.0.8
- New feature - Added VersionConverter for System.Version
- New feature - Added a JSON schema IsValid overload that returns a list of error messages
- Change - NuGet Silverlight/Windows Phone assembies are no longer strong-named
- Fix - Fixed Json.NET attributes on nullable struct properties not being used
- Fix - Fixed deserializing nullable enums
- Fix - Fixed JsonConstructor incorrectly being allowed on properties
- Fix - Fixed empty string being changed to null when deserializing object properties
- Fix - Fixed not replacing ignored properties when resolving an object's contract
- Fix - Fixed JsonReader.ReadAsDateTimeOffset throwing an incorrect error message
- Fix - Fixed error when converting XML to JSON with a default namespace
- Fix - Fixed JsonValidatingReader.ReadAsBytes throwing an exception
- Fix - Fixed a unit test failing because of the running computer’s timezone
4.0.7
4.0.6
- New feature - Added line number information to deserialization errors
- New feature - Added ReadAsInt32 to JsonReader
- New feature - Added BinaryReader/BinaryWriter constructor overloads to BsonReader/BsonWriter
- Change - JsonTextReader error message when additional JSON content found is more descriptive
- Fix - Removed unused utility methods
- Fix - Fixed elusive Intellitrace runtime destabilization error
- Fix - Fixed internal exception thrown when deserializing Decimal/DateTimeOffset/Byte lists
- Fix - Fixed potential multi-threading serializing issue
- Fix - Fixed serializing types that hides a base classes property with a proeprty of the same name
- Fix - Fixed BsonReader to use BinaryReader instead of base stream
- Fix - Fixed referencing the NuGet package from Windows Phone 7.1 projects
4.0.5
4.0.4
- Change - JsonTextReader.Culture is now CultureInfo.InvariantCulture by default
- Change - KeyValurPairConverter no longer cares about the order of the key and value properties
- Change - Time zone conversions now use new TimeZoneInfo instead of TimeZone
- Fix - Fixed boolean values sometimes being capitalized when converting to XML
- Fix - Fixed error when deserializing ConcurrentDictionary
- Fix - Fixed serializing some Uris returning the incorrect value
- Fix - Fixed occasional error when converting non-long integer properties to XML
- Fix - Fixed deserializing byte arrays with type name information
- Fix - Fixed flag enum items not being correctly camel cased
- Fix - Fixed JsonValidatingReader validating the first array item twice
- Fix - Fixed JsonSchema not correctly validating integers as a subset of decimal
- Fix - Fixed bad BSON when writing long strings of complex UTF8 characters
- Fix - Fixed error not being raised for additional content in JSON string for JArray.Parse and JObject.Parse
- Fix - Fixed DataTableConverter including nulls with NullValueHandling.Ignore
4.0.3
- New feature - Improved support for deserializing objects using non-default constructors
- New feature - JsonConverterAttribute now allowed on constructor parameters
- New feature - JsonPropertyAttribute now allowed on constructor parameters
- New feature - Added Serializable attribute to exceptions
- New feature - JsonObject and JsonProperty attributes can now be placed on an interface and used when serializing implementing objects
- New feature - Improve TypeNameHandling.Auto to skip adding an unneeded type name for collection interfaces
- New feature - LINQ to JSON internals rewritten to use lists and dictionaries rather than linked lists
- New feature - Added support for deserializing to readonly collections and dictionaries on classes with non-default constructors
- New feature - Added serialization constructors to all Exceptions
- New feature - Added support for serialization event attributes on base classes
- New feature - Added support for BindToName on SerializationBinder
- New feature - Missing JSON errors can now be handled using JsonSerializer error handling
- New feature - Added Populate and IgnoreAndPopulate options to DefaultValueHandling for automatically populating default values during deserialization
- New feature - Added support for setting readonly fields when marked up with JsonPropertyAttribute
- New feature - Added Order to JsonPropertyAttribute to override the order of serialized JSON
- New feature - Added Culture to JsonTextReader to use when converting values from JSON text
- New feature - Added support for reading byte arrays from JSON integer arrays
- New feature - Added support for deserializing IDictionary properties
- New feature - Added ToObject to JToken for deserializing LINQ to JSON objects to a .NET object
- New feature - Added support for Guid, TimeSpan and Uri to LINQ to JSON
- Change - Changed WriteEndObject, WriteEndArray, WriteEndConstructor on JsonWriter to be virtual
- Change - Moved JPropertyDescriptor to Newtonsoft.Json.Linq namespace
- Change - Additional content after the $ref property now ignored when reading schema references
- Change - Changed JToken.Children to return an empty iterator rather than erroring
- Change - Changed the assembly file names to all be Newtonsoft.Json.dll to fix NuGet referencing
- Change - Changed $id and $ref properties to allow null
- Fix - Changed .NET 2.0 version to use LinqBridge source code rather than ilmerge to fix error
- Fix - Fixed deserializing to IEnumerable properties
- Fix - Fixed DataTable and DataColumn names not being modified by CamelCasePropertyNamesContractResolver
- Fix - Fixed JObject loading JSON with comments
- Fix - Fixed error when using a Specified property with no setter
- Fix - Fixed transient constructor error on Windows Phone 7
- Fix - Fixed deserializing null values into nullable generic dictionaries
- Fix - Fixed potential casting error when writing JSON using a JsonReader
- Fix - Fixed converting emtpy XML elements with an array attribute not writing other attributes
- Fix - Fixed deserializing null values into DataTables
- Fix - Fixed error when deserializing readonly IEnumerable array properties
- Fix - Fixed not including type name for byte[] values
- Fix - Fixed BsonWriter failing silently when writing values outside of an Object or Array
- Fix - Fixed serializer attempting to use dynamic code generation in partial trust
- Fix - Fixed serializing objects with DataContract and DataMember attributes on base classes
4.0.2
- New feature - Added commonly used primitive value operations to dynamic JValue
- New feature - Added IComparable to JValue
- New feature - Added JsonConstructorAttribute to explicitly define which constructor to use during deserialization
- New feature - Added IFormattable to JValue
- New feature - Added Load and Parse helper methods to JToken
- New feature - Added ExpandoObjectConverter that deserializes to primitive values rather than LINQ to JSON objects for ExpandObjects
- New feature - Added EnumMemberAttribute support to StringEnumConverter
- New feature - Added CloseInput/CloseOutput to JsonReader/JsonWriter to control whether the underlying stream is closed. Default to true
- Change - JValue ToString now calls ToString on the internal value
- Change - NuGet spec file includes client profiles
- Change - BsonReader/BsonWriter close the underlying stream by default when closed
- Change - CamelCasePropertyNamesContractResolver updates dictionary and dynamic property names
- Fix – DefaultValueHandling no longer includes a property when the default value is the same value but a different type
- Fix – Objects created with paramatized constructors fixed to not set properties that aren't in JSON
- Fix – Fixed comments in JSON sometimes causing errors when deserializing
- Fix – Error when reflecting over type that has multiple index properties inherited fixed
- Fix – Error when reusing JsonSerializer with preserve references enabled fixed
- Fix – Poor error message when dynamic type cannot be created during deserialization fixed
- Fix – Error when setting a null value on a dynamic type during deserialization fixed
- Fix – JsonTextReader.ReadAsDecimal not attempting to convert string values to decimal fixed
- Fix – Duplicate type name within an assembly error fixed
- Fix – Deserializing a DataTable property fixed
- Fix – Code emit error when deserializing interfaces in certain situations fixed
- Fix – Performance issues when deserializing with partial type names fixed
- Fix – Deserializing some decimal values on classes with non-default constructors fixed