- New feature - Improved BSON performance
- New feature - Added WriteOid and WriteRegex to BsonWriter
- New feature - Added support for ShouldSerialize conditional methods
- New feature - Added TypeNameHandling to JsonProperty attribute. Allows a type names to be included on an individual property basis
- New feature - Support for reading octal and hexadecimal numbers from JSON
- New feature - Added support for enum values to LINQ to JSON
- New feature - Added TypeNameAssemblyFormat property to JsonSerializer
- New feature - Added DateTimeConverterBase
- New feature - Added JsonPrimitiveContract and JsonLinqContract
- New feature - Added CreateMemberValueProvider method to DefaultContractResolver
- New feature - INotifyCollectionChanged implemented on JContainer in Silverlight
- New feature - Included BSON in .NET 2.0, Silverlight and Compact Framework builds
- New feature - Added ReadRootValueAsArray, DateTimeKindHandling properties to BsonReader
- New feature - ISerializable support
- New feature - Added GetSchema, CanRead, CanWrite to JsonConverter
- New feature - LINQ to XML support added to XmlNodeConverter
- New feature - SerializeXNode, DeserializeXNode methods added to JsonConvert
- New feature - Added support for sharing a static cache for contract resolvers inheriting from DefaultControlResolver
- New feature - Added support for switching between dynamic and late bound reflection for medium trust environments
- New feature - Support for using implicit/explicit casts when converting a JSON property name to a dictionary value
- Change – JsonConverter.ReadJson method is now passed the existing value of the property it is converting
- Change - Built in JsonConverters are resolved once when the contract is created rather than runtime
- Change - JsonRaw removed and replaced with JRaw
- Change - Type is now always written as AssemblyQualifiedName
- Change - Dictionary key serialization falls back to ToString for keys
- Change - Schema generator now uses JsonContracts to determine schema information
- Change - Removed the "-" prefix when serializing a JSON constructor - prefix not compatible with XML naming standard
- Change - When converting JSON to XML using XmlNodeConverter, changed special JSON properties ($id, $ref, $type) to be attributes rather than child elements
- Fix - Fix dynamic code generation IL verification issues in .NET 4
- Fix - Fix error when deserializing nullable array
- Fix - Escape JSON property text
- Fix - Silverlight serialization security error
- Fix - Private base members marked with JsonProperty attribute now correctly serialized
- Fix - Error message when attempting to deserialize custom dictionary with no default constructor
- Fix - Correctly deserialize empty BSON objects
- Fix - When a class has a metadata class defined, fall back the original class from the metadata class when attribute not found
- Fix - Deserialize HashSet without error
- Fix - Correctly skip ignored JSON properties when deserializing via a non-default constructor
- Fix - Schema with no properties now correctly validates
- Fix - Dictionary and array schemas now marked as nullable
- Fix - Serialize generic dictionary that doesn't implement IDictionary correctly
- Fix - CustomCreationConverter no longer errors when writing JSON
- Fix - JsonProperty.Readable and Writable not being correctly set for .NET properties with modified getter/setter visibility
- Fix - Fix error caused by private properties on a base class when reflecting a type
- Fix - Correct property CanRead and CanWrite coming back as false when a base class property has a private getter/setter visibility
- Fix - Fix reading BSON multi byte UTF8 characters
- Fix - CustomCreationConverter to return null when converting a null JSON value
- Fix - Fix for possible errors caused by mutable GetHashCode implementations and reference tracking
- Fix - Fix JTokenReader.ReadAsBytes to read strings as base64 data