ChangeLog 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338
  1. 2010-07-27 Andreia Gaita <[email protected]>
  2. * JsonSerializationReader.cs: Add Char type to the switch. Reads the
  3. content as a string and validates its length
  4. 2010-07-27 Andreia Gaita <[email protected]>
  5. * JsonSerializationReader.cs, JsonSerializationWriter.cs:
  6. Add a special case for IDictionary, since KeyValuePair objects
  7. have private setters and can't be processed via the normal
  8. object code path.
  9. 2010-07-06 Atsushi Enomoto <[email protected]>
  10. * TypeMap.cs :
  11. Do not try to add static members as serialization targets.
  12. Support OnDeserializing and OnDeserialized. Fixed bug #615800.
  13. 2010-07-06 Atsushi Enomoto <[email protected]>
  14. * JsonSerializationWriter.cs : it cannot serialize DateTime in
  15. double, which causes crash in deserializer.
  16. 2010-07-06 Atsushi Enomoto <[email protected]>
  17. * TypeMap.cs : when an object is null, return null, not just an
  18. uninitialized object.
  19. 2010-07-06 Atsushi Enomoto <[email protected]>
  20. * DataContractJsonSerializer_2_1.cs : add extra methods for
  21. Sys.SM.Web.Extensions build.
  22. 2010-07-06 Atsushi Enomoto <[email protected]>
  23. * JsonReader.cs : do not keep Attribute state once Read() is called.
  24. 2010-04-24 Atsushi Enomoto <[email protected]>
  25. * JsonSerializationReader.cs : use List<T> if the contract member
  26. type is interface.
  27. 2010-03-16 Jb Evain <[email protected]>
  28. * DataContractJsonSerializer.cs: use MOONLIGHT symbol to
  29. disambiguate MonoTouch and Moonlight code.
  30. 2010-03-13 Kornél Pál <[email protected]>
  31. * JavaScriptReader.cs: Deserialize "false" correctly.
  32. Fixed bug #586712.
  33. 2010-03-10 Atsushi Enomoto <[email protected]>
  34. * JavaScriptReader.cs : moved from Sys.Json/JsonReader.cs.
  35. 2010-03-10 Atsushi Enomoto <[email protected]>
  36. * JavaScriptObjectDeserializer.cs : new internal file, which is
  37. used by System.Json (for moonlight compatibility).
  38. 2010-03-09 Atsushi Enomoto <[email protected]>
  39. * JsonSerializationWriter.cs, JsonSerializationReader.cs,
  40. JsonWriter.cs : Fix DateTime serialization and "\/" string escape
  41. issues. Fixed bug #586169.
  42. 2010-02-24 Atsushi Enomoto <[email protected]>
  43. * JsonWriter.cs : write NaN, INF, -INF as JSON string, not JSON number.
  44. Fixed bug #573691.
  45. 2010-01-27 Atsushi Enomoto <[email protected]>
  46. * DataContractJsonSerializer.cs : KnownTypes does not include root
  47. type. Fixed bug #573689.
  48. 2010-01-27 Atsushi Enomoto <[email protected]>
  49. * JsonSerializationReader.cs : oops, wrong fix, should consume the
  50. reader.
  51. 2010-01-27 Atsushi Enomoto <[email protected]>
  52. * JsonSerializationReader.cs : "null" for string should be read as
  53. null, not String.Empty. Fixed bug #573690.
  54. 2010-01-26 Sebastien Pouliot <[email protected]>
  55. * DataContractJsonSerializer_2_1.cs: Don't hide [Field|Method]
  56. AccessException inside a SerializationException but in a
  57. SecurityException.
  58. 2010-01-25 Sebastien Pouliot <[email protected]>
  59. * DataContractJsonSerializer_2_1.cs: New. Simpler version for
  60. Moonlight since it does not inherit from the same base type nor
  61. does it overrides any base methods.
  62. 2010-01-08 Atsushi Enomoto <[email protected]>
  63. * TypeMap.cs : forward port r145077 (see change line for 2009-10-29).
  64. 2009-12-14 Atsushi Enomoto <[email protected]>
  65. * TypeMap.cs : handle [Serializable] objects such as KeyValuePair<,>
  66. like we do in 2.0. Removed previous workarounds. (Do not serialize
  67. and deserialize nonpublic members in "default" mappings.)
  68. 2009-12-11 Chris Toshok <[email protected]>
  69. * TypeMap.cs (CreateDefaultTypeMap): only include non-public
  70. property info when dealing with KeyValuePair<,>. This is *not*
  71. the way MS handles it, but we emulate things much better with this
  72. hack.
  73. 2009-12-11 Atsushi Enomoto <[email protected]>
  74. * JsonReader.cs : e- and e+ was resulting in wrong parse error.
  75. This should fix part of bug #531904.
  76. 2009-12-08 Chris Toshok <[email protected]>
  77. * JsonSerializationReader.cs (DeserializeGenericCollection): in
  78. the 2.1 case we still need to convert the List<> to an array.
  79. 2009-12-07 Chris Toshok <[email protected]>
  80. * JsonReaderWriterFactory.cs (CreateJsonReader): pass null for the
  81. encoding parameter instead of calling Detect. The jsonreader's
  82. PushbackReader will autodetect.
  83. (Detect): remove. a BufferedStream created from an unseekable
  84. stream is itself unseekable, which makes it just as useless. This
  85. breaks netflix's isostore file parsing.
  86. * JsonReader.cs (PushbackReader): add a ctor which doesn't take an
  87. encoding, for the autodetecting reader case. for this ctor, pass
  88. true to StreamReader's ctor for detectEncodingFromByteOrderMarks.
  89. 2009-12-06 Chris Toshok <[email protected]>
  90. * JsonSerializationReader.cs (DeserializeGenericCollection): this
  91. is jb's (iirc) patch, actually. Types subclassing from
  92. ICollection<T> need to be supported, and since it's an interface
  93. the implementation might be explicit. So instead of groveling
  94. around in the actual type, we need to dispatch through the
  95. interface's method.
  96. * TypeMap.cs (CreateDefaultTypeMap): we need to include non-public
  97. properties, since KeyValuePair items must be able to write to Key
  98. and Value properties.
  99. * JsonReader.cs (ReadContent): for builtin values (null, true,
  100. false), use TryReadString instead of individual ReadChar's, since
  101. they aren't reversible if the string didn't match. In the default
  102. case, if we're LameSilverlightLiseralParser, we need to push back
  103. the current character onto the stream -- this is because for
  104. netflix's AppConfig.json we were parsing "frameRatePolicy" as
  105. "rameRatePolicy" (the 'f' was triggering the "false" parsing).
  106. (class PushBackReader): add this class to unify all the pushing
  107. back of characters we need to do. 1 character (JsonReader's old
  108. "saved_char") isn't enough given that you could have a property
  109. named, e.g., "falsifiable", and we'd need 4 characters worth of
  110. pushback to recognize that correctly.
  111. 2009-11-20 Atsushi Enomoto <[email protected]>
  112. * DataContractJsonSerializer.cs, JsonReader.cs : Silverlight uses
  113. LAME parser that allows object member name as *raw* string
  114. without double-quotes. (This also reverts the previous change.)
  115. 2009-11-12 Atsushi Enomoto <[email protected]>
  116. * JsonSerializationReader.cs : reuse generic collection search
  117. logic in KnownTypeCollection.cs. Fixed bug #551671.
  118. 2009-10-30 Andreia Gaita <[email protected]>
  119. * DataContractJsonSerializer.cs: SL accepts keys without "", so tweak
  120. the data to fix the quotes before passing it to the deserializer
  121. 2009-10-29 Chris Toshok <[email protected]>
  122. * TypeMap.cs (Deserialize): use
  123. FormatterServices.GetUninitializedObject instead of
  124. Activator.CreateInstance, since we shouldn't be invoking the
  125. default ctor.
  126. (forward ported to trunk on 2010-01-08 by atsushi)
  127. 2009-10-23 Atsushi Enomoto <[email protected]>
  128. * DataContractJsonSerializer.cs
  129. TypeMap.cs
  130. JsonSerializationReader.cs : add experimental monotouch build.
  131. 2009-10-08 Atsushi Enomoto <[email protected]>
  132. * DataContractJsonSerializer.cs, JsonSerializationWriter.cs:
  133. alwaysEmitTypeInformation is false by default. It is for __type
  134. attribute, not for type attribute. __type name is always with ":#".
  135. * TypeMap.cs : sort members in default typemap (it is ordered).
  136. Uncomment EmitDefaultValue.
  137. * JsonWriter.cs : handle "null" string (it is somewhat messy).
  138. 2009-10-05 Atsushi Enomoto <[email protected]>
  139. * JsonReader.cs : copy string literal parser from System.Json.
  140. 2009-09-22 Atsushi Enomoto <[email protected]>
  141. * JsonSerializationWriter.cs : output "type" attribute on bool
  142. values too.
  143. * JsonSerializationReader.cs : type loading attempt was insufficient
  144. and hence often missed indicated types to deserialize.
  145. 2009-09-15 Atsushi Enomoto <[email protected]>
  146. * JsonWriter.cs : use Stream as its output directly and avoid
  147. extraneous preamble output. Fix interop with .NET.
  148. 2009-09-07 Atsushi Enomoto <[email protected]>
  149. * JsonReaderWriterFactory.cs : check null stream (fix test failure).
  150. 2009-03-13 Andreia Gaita <[email protected]>
  151. * JsonReader.cs: fix depth calculation
  152. 2009-03-12 Geoff Norton <[email protected]>
  153. * TypeMap.cs: Avoid checking the getter/setter information until after
  154. checking if we have the required attribute decorated.
  155. 2009-03-12 Andreia Gaita <[email protected]>
  156. * JsonReaderWriterFactory.cs: try to auto-detect encoding for streams
  157. without BOM
  158. 2009-03-02 Chris Toshok <[email protected]>
  159. * JsonReader.cs: 2.1 has HasValue.
  160. 2009-02-02 Atsushi Enomoto <[email protected]>
  161. * JsonReader.cs : show invalid input character in the error
  162. message.
  163. 2009-02-02 Atsushi Enomoto <[email protected]>
  164. * TypeMap.cs : in 2.1 do not use non-2.1 CreateInstance().
  165. 2009-02-02 Atsushi Enomoto <[email protected]>
  166. * TypeMap.cs : allow get-only collections. Note that they are not
  167. always deserializable (in .NET either).
  168. 2009-02-02 Atsushi Enomoto <[email protected]>
  169. * TypeMap.cs : DataContractJsonSerializer in RTM does not seem to
  170. reject contract-less types. So populate map for public members.
  171. * DataContractJsonSerializer.cs : close XmlWriter to flush stream
  172. (and it closes the stream by default).
  173. 2009-02-02 Andreia Gaita <[email protected]>
  174. * JsonSerializationReader.cs : Use 2.1 "approved" calls for Enum.Parse
  175. and Convert.ChangeType
  176. 2008-02-18 Atsushi Enomoto <[email protected]>
  177. * DataContractJsonSerializer.cs : IsStartObject() could raise
  178. an arbitrary exception, so wrap it inside try-catch too to enclose
  179. with SerializationException.
  180. * JsonSerializationReader.cs : support DBNull.
  181. 2008-01-30 Atsushi Enomoto <[email protected]>
  182. * DataContractJsonSerializer.cs : fixed .ctor(type, knonwTypes) that
  183. missed to delegate knownTypes correctly.
  184. * JsonSerializationReader.cs : consider KnownTypes correctly.
  185. Take "__type" fully into consideration, not just for arrays.
  186. 2008-01-30 Atsushi Enomoto <[email protected]>
  187. * JsonReader.cs : GetAttribute() was not still missing support for
  188. __type.
  189. 2008-01-30 Atsushi Enomoto <[email protected]>
  190. * JsonReader.cs : now __type is fully supported in every methods and
  191. properties in correct shape.
  192. 2008-01-30 Atsushi Enomoto <[email protected]>
  193. * JsonReader.cs : Do not consume "__type" (which is the first content
  194. of an object) as an element content. It must be handled as an
  195. attribute (it needs more changes).
  196. 2008-01-24 Atsushi Enomoto <[email protected]>
  197. * JsonSerializationReader.cs : when deserializing primitive strings,
  198. make use of "type" attribute (they are supposed to exist).
  199. Output source reader location if available.
  200. * JsonReader.cs : implement IXmlLineInfo.
  201. 2008-01-24 Atsushi Enomoto <[email protected]>
  202. * JsonSerializationReader.cs : new, for JSON deserialization support.
  203. * DataContractJsonSerializer.cs, TypeMap.cs :
  204. basic support for deserialization.
  205. 2008-01-24 Atsushi Enomoto <[email protected]>
  206. * DataContractJsonSerializer.cs,
  207. TypeMap.cs,
  208. JsonSerializationWriter.cs : split the first to those three files.
  209. 2008-01-24 Atsushi Enomoto <[email protected]>
  210. * DataContractJsonSerializer.cs : Uri and Guid are serialized as
  211. string. XmlQualifiedName is serialized as local:ns.
  212. 2008-01-22 Atsushi Enomoto <[email protected]>
  213. * JsonWriter.cs : allow __type attribute. It required couple of
  214. changes all around the class.
  215. * DataContractJsonSerializer.cs : implemented large part of
  216. serialization support (deserialization is not done yet).
  217. 2007-12-05 Atsushi Enomoto <[email protected]>
  218. * DataContractJsonSerializer.cs :
  219. moved from System.Runtime.Serialization and changed the namespace.
  220. * JsonReader.cs, JsonWriter.cs, JsonReaderWriterFactory.cs,
  221. IXmlJsonReaderInitializer.cs, IXmlJsonWriterInitializer.cs :
  222. moved from System.Xml and changed the namespace.