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