Skip to content

Releases: JamesNK/Newtonsoft.Json

4.5.3

03 Nov 18:24
Compare
Choose a tag to compare
  • Change - DefaultContractResolver.IgnoreSerializableAttribute is now true by default
  • Fix - Fixed MaxDepth on JsonReader recursively throwing an error
  • Fix - Fixed SerializationBinder.BindToName not being called with full assembly names

4.5.2

03 Nov 18:25
Compare
Choose a tag to compare
  • 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

03 Nov 18:26
Compare
Choose a tag to compare
  • 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

03 Nov 18:29
Compare
Choose a tag to compare
  • 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

03 Nov 18:30
Compare
Choose a tag to compare
  • Change - Moved Culture property from JsonTextReader to JsonReader
  • Fix - Fixed circular reference error when serializing nullable struct properties
  • Fix - Fixed JsonReader.ReadAsXXX methods not converting string values

4.0.6

03 Nov 18:30
Compare
Choose a tag to compare
  • 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

03 Nov 18:32
Compare
Choose a tag to compare
  • Fix - Fixed referencing the NuGet package from Windows Phone 7.1 projects

4.0.4

03 Nov 18:33
Compare
Choose a tag to compare
  • 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

03 Nov 18:34
Compare
Choose a tag to compare
  • 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

03 Nov 18:35
Compare
Choose a tag to compare
  • 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