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