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