@JamesNK JamesNK released this Jun 13, 2016 · 192 commits to master since this release

  • 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



@JamesNK JamesNK released this Mar 14, 2016 · 243 commits to master since this release

  • 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



@JamesNK JamesNK released this Jan 9, 2016 · 272 commits to master since this release

  • New feature - Added ReadAsBoolean to JsonReader
  • Fix - Fixed serializing certain objects with events
  • Fix - Fixed reading booleans as strings
  • Fix - Fixed reading large integers as booleans
  • Fix - Fixed ReadAsBytes with type name handling



@JamesNK JamesNK released this Dec 28, 2015 · 281 commits to master since this release

  • 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



@JamesNK JamesNK released this Jun 22, 2015 · 412 commits to master since this release

  • 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



@JamesNK JamesNK released this Jan 11, 2015 · 494 commits to master since this release

  • New feature - Added AttributeProvider to JsonProperty
  • Fix - Fixed serializing and deserializing const fields
  • Fix - Fixed using MetadataTypeAttribute with proxy classes
  • Fix - Fixed bad error message when deserializing unsupported collections



@JamesNK JamesNK released this Dec 22, 2014 · 508 commits to master since this release

  • 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
  • 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



@JamesNK JamesNK released this Oct 20, 2014 · 552 commits to master since this release

  • 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



@JamesNK JamesNK released this Sep 6, 2014 · 602 commits to master since this release

  • 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



@JamesNK JamesNK released this Aug 3, 2014 · 616 commits to master since this release

  • New feature - Added Merge to LINQ to JSON
  • New feature - Added JValue.CreateNull and JValue.CreateUndefined
  • New feature - Added Windows Phone 8.1 support to .NET 4.0 portable assembly
  • New feature - Added OverrideCreator to JsonObjectContract
  • New feature - Added support for overriding the creation of interfaces and abstract types
  • New feature - Added support for reading UUID BSON binary values as a Guid
  • New feature - Added MetadataPropertyHandling.Ignore
  • New feature - Improved performance of KeyValuePairConverter
  • New feature - Improved performance when serializing large XML documents
  • Change - Limited integer parsing size to JavaScript integer size
  • Change - Validation that numbers don't end with an invalid character
  • Fix - Fixed JToken.ReadFrom creating a string value for a comment
  • Fix - Fixed relying on Dictionary order when calling parameterized constructors
  • Fix - Fixed writing new lines to use TextWriter.WriteLine
  • Fix - Fixed deserializing non-generic IReadOnlyCollection implementations
  • Fix - Fixed sending HTTP requests when resolving DTD urls in XmlNodeConverter
  • Fix - Fixed populating ignored properties with DefaultValueHandling.IgnoreAndPopulate
  • Fix - Fixed not throwing JsonReaderException when parsing some invalid numbers
  • Fix - Fixed JsonConvert.PopulateObject not setting JsonReader settings
  • Fix - Fixed deserializing JObjects starting with a comment
  • Fix - Fixed using DateParseHandling and FloatParseHandling with DataTable/DataSet
  • Fix - Fixed serializing static fields
  • Fix - Fixed selecting a property after an empty array with a JSON Path query
  • Fix - Fixed error handling when last value in array or object fails
  • Fix - Fixed directly serializing XmlElements
  • Fix - Fixed incorrect NuGet targets on .NET 4.5 portable assembly
  • Fix - Fixed using JTokenEqualityComparer with JProperties that have no value
  • Fix - Fixed MetadataPropertyHandling.ReadAhead bugs