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