2009-07-22 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System.Runtime.Serialization / System.Runtime.Serialization / ChangeLog
1 2009-07-22  Atsushi Enomoto  <atsushi@ximian.com>
2
3         * XmlFormatterDeserializer.cs : when reading empty primitive value,
4           make sure to consume the reader. Fixed bug #524083.
5
6 2009-07-22  Atsushi Enomoto  <atsushi@ximian.com>
7
8         * SerializationMap.cs : call MoveToContent() before examining
9           the reader node type.
10
11 2009-07-22  Atsushi Enomoto  <atsushi@ximian.com>
12
13         * KnownTypeCollection.cs : Find KnownTypeAttributes in base types
14           too. Patch by Rolf Bjarne Kvinge. Fixed bug #524088.
15
16 2009-07-21  Atsushi Enomoto  <atsushi@ximian.com>
17
18         * DataContractSerializer.cs : it does not write dictionary string
19           when it was not created with it.
20
21 2009-07-07  Atsushi Enomoto  <atsushi@ximian.com>
22
23         * XmlFormatterDeserializer.cs, SerializationMap.cs : IXmlSerializable
24           were not deserialized correctly as it has mismatch on wrapper
25           element. This fixes PeerNodeAddress.EndpointAddress deserialization.
26
27 2009-06-26  Atsushi Enomoto  <atsushi@ximian.com>
28
29         * XmlFormatterDeserializer.cs : verifyObjectName rather blocked
30           correct names provided as the root names.
31
32 2009-06-01  Atsushi Enomoto  <atsushi@ximian.com>
33
34         * XmlFormatterSerializer.cs, KnownTypeCollection.cs : collection
35           types does not emit xsi:type when the actual type is different
36           from the nominal serilaization type. To achieve this, introduced
37           the idea of the actual serialization type.
38
39 2009-05-28  Atsushi Enomoto  <atsushi@ximian.com>
40
41         * SerializationMap.cs : for default / shared type map, members are
42           serialized in alphabetical order.
43
44 2009-05-28  Atsushi Enomoto  <atsushi@ximian.com>
45
46         * SerializationMap.cs : generic interface search has to be more
47           complicated. Give kind error message on setting deserialized value.
48
49 2009-05-28  Atsushi Enomoto  <atsushi@ximian.com>
50
51         * SerializationMap.cs: collection interface cannot be instantiated,
52           so create List<T> (generic) or ArrayList (non-generic) instead.
53
54 2009-05-25  Atsushi Enomoto  <atsushi@ximian.com>
55
56         * SerializationMap.cs, XmlFormatterSerializer.cs :
57           collection types should not output xsi:type e.g. IList<T> should
58           not exposed xsi:type as xsi:type=List`1.
59
60 2009-05-18  Atsushi Enomoto  <atsushi@ximian.com>
61
62         * SerializationMap.cs, XmlFormatterDeserializer.cs,
63           KnownTypeCollection.cs : Support for array of some primitive types
64           in the deserializer was missing, which resulted in peer resolver
65           RegisterInfo deserialization failure.
66
67 2009-05-18  Atsushi Enomoto  <atsushi@ximian.com>
68
69         * XmlFormatterDeserializer.cs : remove type lookup optimization
70           (since .NET 3.5 introduced system types with DC) and fix
71           serialization of system types (ISerializable types were not
72           resolved in previous code).
73
74 2009-05-18  Atsushi Enomoto  <atsushi@ximian.com>
75
76         * SerializationMap.cs : it was only about 2.1. Fix build.
77
78 2009-05-18  Atsushi Enomoto  <atsushi@ximian.com>
79
80         * SerializationMap.cs : It is not possible to get schema without
81           IXmlSerializable instance.
82
83 2009-05-15  Atsushi Enomoto  <atsushi@ximian.com>
84
85         * DataContractSerializer.cs : write dictionary string directly for
86           root name/ns (root only, so far).
87
88 2009-05-14  Atsushi Enomoto  <atsushi@ximian.com>
89
90         * SerializationMap.cs: interface collection failed to serialize as
91           it was calling inappropriate GetInterfaceMap().
92
93 2009-04-01  Atsushi Enomoto  <atsushi@ximian.com>
94
95         * XmlFormatterDeserializer.cs : more hack to handle empty
96           element nicely.
97
98 2009-03-24  Atsushi Enomoto  <atsushi@ximian.com>
99
100         * SerializationMap.cs, XmlFormatterDeserializer.cs:
101           empty collection deserialization resulted in extra
102           consumption of the next xml node.
103
104 2009-03-19  Atsushi Enomoto  <atsushi@ximian.com>
105
106         * KnownTypeCollection.cs, XmlFormatterDeserializer.cs :
107           to infer type from xml qname, consider DataContractAttribute
108           names.
109
110 2009-03-12  Atsushi Enomoto  <atsushi@ximian.com>
111
112         * SerializationMap.cs : make generic type parsing sloppy.
113           because we don't know some cryptic hash algorithm:
114           http://jeffbarnes.net/portal/blogs/jeff_barnes/archive/2007/05/10/wcf-serialization-and-generics.aspx
115
116 2009-03-12  Atsushi Enomoto  <atsushi@ximian.com>
117
118         * SerializationMap.cs, KnownTypeCollection.cs :
119           support CollectionDataContract-based dictionary too.
120
121 2009-03-12  Atsushi Enomoto  <atsushi@ximian.com>
122
123         * SerializationMap.cs, KnownTypeCollection.cs :
124           added support for dictionary serialization (not for
125           CollectionDataContract-attributed dictionary yet).
126
127 2009-03-12  Atsushi Enomoto  <atsushi@ximian.com>
128
129         * SerializationMap.cs : cosmetic !NET_2_1 fix (no effect).
130         * KnownTypeCollection.cs : use ICollection<> and IList instead of
131           IEnumerable. This causes confusion for dictionary.
132
133 2009-03-11  Atsushi Enomoto  <atsushi@ximian.com>
134
135         * XmlFormatterSerializer.cs, XmlObjectSerializer.cs,
136           XmlFormatterDeserializer.cs, KnownTypeCollection.cs :
137           add more xsi:type to cover collection items.
138
139 2009-03-11  Atsushi Enomoto  <atsushi@ximian.com>
140
141         * KnownTypeCollection.cs : fix generic argument names in xml.
142           They should use xmlized names instead of raw type name.
143         * XmlFormatterDeserializer.cs : remove extra Console.WriteLine.
144
145 2009-03-11  Atsushi Enomoto  <atsushi@ximian.com>
146
147         * SerializationMap.cs : eliminate whitespace misuses.
148
149 2009-03-11  Atsushi Enomoto  <atsushi@ximian.com>
150
151         * SerializationMap.cs : actually it could just be ICollection<T>.
152
153 2009-03-11  Atsushi Enomoto  <atsushi@ximian.com>
154
155         * SerializationMap.cs : implemented generic IList deserialization.
156
157 2009-03-10  Atsushi Enomoto  <atsushi@ximian.com>
158
159         * KnownTypeCollection.cs : fix for generic serialization.
160
161 2009-02-27  Atsushi Enomoto  <atsushi@ximian.com>
162
163         * SerializationMap.cs : look for unordered members first, in
164           different iteration. Got SL OpenStreetMap working.
165
166 2009-02-13  Atsushi Enomoto  <atsushi@ximian.com>
167
168         * SerializationMap.cs : remove use of non-2.1 CreateInstance().
169         * XmlFormatterDeserializer.cs : allow empty element.
170
171 2009-02-13  Atsushi Enomoto  <atsushi@ximian.com>
172
173         * SerializationMap.cs, DataContractSerializer.cs,
174           KnownTypeCollection.cs : now .NET 3.5/SP1 supports non-contract
175           type serialization.
176
177 2009-02-13  Atsushi Enomoto  <atsushi@ximian.com>
178
179         * SerializationMap.cs, KnownTypeCollection.cs : couple of refactoring
180           to simplify code base and handle CollectionDataContract namespace.
181
182 2009-02-13  Atsushi Enomoto  <atsushi@ximian.com>
183
184         * SerializationMap.cs : oops, remove debug lines.
185
186 2009-02-13  Atsushi Enomoto  <atsushi@ximian.com>
187
188         * DataContractSerializer.cs : remove extra writexmlns.
189         * SerializationMap.cs : allow DataMember of collection contract type
190           as read-only.
191         * KnownTypeCollection.cs : it was not iterating interfaces to find
192           IEnumerable<T> correctly.
193
194 2009-02-03  Atsushi Enomoto  <atsushi@ximian.com>
195
196         * SerializationMap.cs : a bit more detailed error message.
197
198 2009-01-23  Atsushi Enomoto  <atsushi@ximian.com>
199
200         * KnownTypeCollection.cs : similar fix to the previous one,
201           on uint16.
202
203 2009-01-22  Alan McGovern  <amcgovern@novell.com>
204
205         * KnownTypeCollection.cs : The byte overload doesn't exist in
206         Silverlight, so cast the byte to an int instead.
207
208 2008-11-23  Atsushi Enomoto  <atsushi@ximian.com>
209
210         * DataContractAttribute.cs : remove MonoTODO.
211
212 2008-11-23  Atsushi Enomoto  <atsushi@ximian.com>
213
214         * SerializationMap.cs, XmlFormatterSerializer.cs,
215           XmlFormatterDeserializer.cs, DataContractAttribute.cs,
216           CollectionDataContractAttribute.cs, KnownTypeCollection.cs :
217           support IsReference (new in 3.5 SP1).
218
219 2008-11-23  Atsushi Enomoto  <atsushi@ximian.com>
220
221         * DataContractSerializer.cs : remove extra type validity check.
222
223 2008-11-23  Atsushi Enomoto  <atsushi@ximian.com>
224
225         * XmlFormatterSerializer.cs : one object could not be serialized
226           twice in non-circular situation.
227
228 2008-09-09  Atsushi Enomoto  <atsushi@ximian.com>
229                         Jb Evain  <jbevain@novell.com>
230
231         * IDataContractSurrogater.cs, SerializationMap.cs:
232         add support to build on the net_2_1 profile.
233
234 2008-06-19  Noam Lampert <noaml@mainsoft.com>
235         
236         * KnownTypeCollection.cs: Support anyUri type
237
238 2008-06-05  Noam Lampert <noaml@mainsoft.com>
239         
240         * KnownTypeCollection.cs: Support XmlRoot attribute
241
242 2008-06-01  Noam Lampert <noaml@mainsoft.com>
243         
244         * KnownTypeCollection.cs: Implement byte[] serialization.
245
246 2008-05-19  Noam Lampert <noaml@mainsoft.com>
247         
248         * KnownTypeCollection.cs: Implement char serialization.
249            
250 2008-05-19  Noam Lampert <noaml@mainsoft.com>
251         
252         * KnownTypeCollection.cs, XmlFormatterDeserializer.cs: Imporve support for 
253            Nullable types in contracts.
254            
255 2008-04-29  Eyal Alaluf <eyala@mainsoft.com>
256
257         * KnownTypeCollection.cs: Fixed a typo in long conversion.
258
259 2008-04-17  Eyal Alaluf <eyala@mainsoft.com>
260
261         * SerializationMap.cs: Implement partially collections deserialization.
262           Supports arrays and types derived from IList. Needs support for calling
263           'Add' method and for dictionaries.
264         * SerializationMap.cs XmlFormatterSerializer.cs DataContractSerializer.cs:
265           Serialize namespaces for base members according to base class namespace.
266
267 2008-04-14  Eyal Alaluf <eyala@mainsoft.com>
268
269         * SerializationMap.cs: Use FormatterServices.GetUninitializedObject instead
270           of Activator.CreateInstance.
271
272 2008-04-10  Eyal Alaluf <eyala@mainsoft.com>
273
274         * DataContractSerializer.cs: Write and register the current type namespace
275           within the writer.
276         * XmlObjectSerializer.cs: ReadObject verifies by default.
277         * XmlFormatterSerializer.cs: Write and register XML namespaces.
278         * XmlFormatterDeserializer.cs: Refactored so Deserialize instance method can
279           be used from SerializationMap deserialization logic recursively.
280         * SerializationMap.cs: Reimplemented main deserialization logic. Now it
281           handles better missing entries, consumes the XmlReader until the end
282           element and handles XML namespaces correctly.
283           Enabled checks for required fields.
284
285 2008-02-27  Eyal Alaluf <eyala@mainsoft.com>
286
287         * SerializationMap.cs: Fix namespace logic at least in simple case where
288           there are several unknown elements before the current element.
289         * ContractNamespaceAttribute.cs: The ClrNamespace is not set by the ctor.
290         * XmlObjectSerializer.cs: Dispose the XmlWriter created in WriteObject
291           to a stream.
292         * DataMemberAttribute.cs: Added the EmitDefaultValue property.
293         * XsdDataContractImporter.cs: Handle null arguments in Import methods.
294         * KnownTypeCollection.cs: Use XmlConvert.ToDateTime with roundtrip style.
295
296 2007-12-05  Atsushi Enomoto  <atsushi@ximian.com>
297
298         * XmlObjectSerializer.cs : some methods became virtual (in Redbits).
299         * DataContractSerializer.cs : added some overriden methods in Redbits.
300           knownTypes can be null in .ctor().
301
302 2007-08-17  Atsushi Enomoto  <atsushi@ximian.com>
303
304         * SerializationMap.cs : for void it cannot be instantiated. Return
305           null instead.
306
307 2007-08-17  Atsushi Enomoto  <atsushi@ximian.com>
308
309         * XmlFormatterDeserializer.cs DataContractSerializer.cs :
310           uhoh, the semantic of bool parameter in ReadObject() has
311           changed in the RTM. Implemented it as verifyObjectName.
312
313 2007-03-27  Atsushi Enomoto  <atsushi@ximian.com>
314
315         * SerializationMap.cs
316           XmlFormatterSerializer.cs
317           DataContractSerializer.cs :
318           now it needs some mess to handle serialization namespaces.
319           Collection items are serialized in its own xml namespace. Others,
320           (including the collection member itself) is serialized in its
321           parent xml namespace. Collection items are serialized with its
322           wrapping element.
323         * XsdDataContractImporter.cs : use constant.
324
325 2007-03-26  Atsushi Enomoto  <atsushi@ximian.com>
326
327         * KnownTypeCollection.cs : added support for Guid serialization.
328
329 2006-10-20  Atsushi Enomoto  <atsushi@ximian.com>
330
331         * KnownTypeCollection.cs : (RemoveItem) don't remove items while 
332           iterating.
333
334 2006-09-06  Ankit Jain  <jankit@novell.com>
335
336         * SerializationMap.cs (SerializationMap.GetSequence): Set minOccurs = 0
337
338 2006-09-05  Ankit Jain  <jankit@novell.com>
339
340         * XsdDataContractExporter.cs (XsdDataContractExporter.MSTypesSchema):
341         Load resource mstypes.schema
342         (XsdDataContractExporter.Schemas): Add MSTypesSchema by default.
343
344 2006-09-05  Ankit Jain  <jankit@novell.com>
345
346         * SerializationMap.cs (SerializationMap.AddImport): New.
347         (SerializationMap.GetSequence): Use AddImport.
348
349 2006-09-04  Ankit Jain  <jankit@novell.com>
350
351         * SerializationMap.cs (SerializationMap.GetSchemaSet): Remove.
352         (SerializationMap.GetSchemaType):
353         (SerializationMap.GetSequence):
354         (SerializationMap.GetSchema): Change XmlSchemas param to XmlSchemaSet.
355         Call XmlSchemaSet.Reprocess whenever an existing schema is modified.
356         * XsdDataContractExporter.cs (XsdDataContractExporter.Export): Update to
357         changes in SerializationMap.
358         (XsdDataContractExporter.CanExport): Implement.
359         (XsdDataContractExporter.GetSchemaType): Implement.
360         (XsdDataContractExporter.GetSchemaTypeName): Implement.
361         (XsdDataContractExporter.KnownTypes): New.
362         (XsdDataContractExporter.GeneratedTypes): New.
363
364 2006-09-01  Ankit Jain  <jankit@novell.com>
365
366         * SerializationMap.cs (SerializationMap.GetSchemaSet): New.
367         (SerializationMap.IsPrimitive): New.
368         (SerializationMap.GetSchemaType): New.
369         (SerializationMap.GetSequence): New.
370         (SerializationMap.GetMembers): New.
371         (SerializationMap.GetSchemaElement): New.
372         (SerializationMap.GetSchema): New.
373         (SerializationMap.GetQualifiedName): New.
374         New methods for exporting schema for the type.
375
376         (SharedContractMap.ctor): Move code for building Members list to ..
377         (SharedContractMap.GetMembers): .. here.
378
379         (CollectionTypeMap.Serialize): Mark 'override'.
380         (CollectionTypeMap.GetMembers): 'override' and throw
381         NotImplementedException.
382         (CollectionTypeMap.GetSchemaType): Implement.
383
384         (SharedTypeMap..ctor): Move code to ..
385         (SharedTypeMap.GetMembers): .. here.
386         (EnumMap.GetSchemaType): Implement.
387
388         * XsdDataContractExporter.cs (XsdDataContractExporter.Export):
389         Implement.
390         * KnownTypeCollection.cs (KnownTypeCollection.GetCollectionQName): Use
391         GetQName instead of GetXmlName. Set Namespace for collections of
392         primitive types to MSArraysNamespace
393
394 2006-08-31  Ankit Jain  <jankit@novell.com>
395
396         * SerializationMap.cs (EnumMap): New. For de/serializing enums.
397         (EnumMemberInfo): New.
398         (SerializationMap.DeserializeContent): Made protected virtual from private.
399         * DataContractSerializer.cs (WriteStartObject):
400         Ensure that "i:type" is not emitted for enums.
401         * KnownTypeCollection.cs (GetPrimitiveTypeName): Don't treat enum as a
402         primitive type.
403         (GetQName): Likewise. Use GetEnumQName for enums.
404         (GetEnumQName): New.
405         (IsPrimitiveNotEnum): New.
406         (TryRegister): Add support for enums.
407         (RegisterEnum): New.
408
409 2006-08-14  Atsushi Enomoto  <atsushi@ximian.com>
410
411         * XmlFormatterSerializer.cs : (contd from my previous change)
412           ... and don't complain at WriteObject(). It is somehow required
413           in S.SM.D.WSTrustContract (soon to be committed).
414
415 2006-07-27  Ankit Jain  <jankit@novell.com>
416
417         * XsdDataContractImporter.cs (Compile): Remove, thanks to eno
418         XmlSchemaSet.Compile () works now.
419         Update to directly use XmlSchemaSet.Compile ()
420
421 2006-07-27  Ankit Jain  <jankit@novell.com>
422
423         * XsdDataContractImporter.cs (ImportInternal): New.
424         Update various overloads of Import to use this.
425         (ImportFromTypeMapping): New. Emits code for a DataContract from a
426         XmlTypeMapping. Code is duplicate of
427         ServiceContractGenerator.ExportDataContract .
428         (GetNamespace): New. Duplicate like above.
429         (Compile): New. Temporary hack, will XmlSchemaSet.Compile is not
430         working.
431
432 2006-07-18  Atsushi Enomoto  <atsushi@ximian.com>
433
434         * XmlFormatterSerializer.cs, KnownTypeCollection.cs :
435           don't raise an error at DataContractSerializer..ctor(). Raise
436           InvalidDataContractException on WriteObject().
437
438 2006-07-12  Ankit Jain  <jankit@novell.com>
439
440         * SerializationMap.cs (XmlSerializableMap): New. Map for classes which
441         implement IXmlSerializable interface.
442         * KnownTypeCollection.cs (KnownTypeCollection.GetQName): Add support for
443         types which implement IXmlSerializable interface. Change the order in
444         which DataContractAttribute/IXmlSerializable/SerializableAttribute get
445         selected.
446         (KnownTypeCollection.TryRegister): Change the order like above.
447         (KnownTypeCollection.RegisterIXmlSerializable): New.
448
449 2006-07-04  Atsushi Enomoto  <atsushi@ximian.com>
450
451         * XsdDataContractExporter.cs, XmlObjectSerializer.cs,
452           InvalidDataContractException.cs : some June CTP updates.
453
454 2006-07-04  Atsushi Enomoto  <atsushi@ximian.com>
455
456         * IDataContractSurrogate.cs, ExportOptions.cs,
457           DataContractSerializer.cs, KnownTypeCollection.cs :
458           June CTP updates.
459
460 2006-05-09  Atsushi Enomoto  <atsushi@ximian.com>
461
462         * DataContractSerializer.cs : null knownTypes argument is allowed.
463         * KnownTypeCollection.cs : Type.Namespace could be null.
464
465 2006-05-09  Atsushi Enomoto  <atsushi@ximian.com>
466
467         * KnownTypeCollection.cs : for nested classes, treat localName of
468           the QName as "Parent.Child", not "Child".
469           Don't encode name here (to pass ".").
470
471 2006-05-09  Atsushi Enomoto  <atsushi@ximian.com>
472
473         * DataContractSerializer.cs :
474           Added maxObjectsInGraph range check.
475           interface type has BaseType as null, so end base type check when
476           it is null (I don't think this check is required btw).
477
478 2006-04-05  Atsushi Enomoto  <atsushi@ximian.com>
479
480         * DataContractSerializer.cs : xmlns:xsi is not written when the
481           target type is string.
482
483 2006-03-22  Ankit Jain  <jankit@novell.com>
484
485         * SerializationMap.cs (CheckDataContractEqual): Remove.
486         (Deserialize): Allows expected type to be a derived one from actual
487         type.
488         (DeserializeInternal): Handle DataMember of type 'object'.
489         * XmlFormatterSerializer.cs (SerializeNonPrimitive): Serialize types not
490         already known.
491         * DataContractSerializer.cs (.ctor): Use KnownTypeCollection.GetQName
492         instead of doing it manually.
493         (PopulateTypes): Change return type from KnownTypeCollection to void.
494         Scan the base types to ensure that all have DataContract or Serializable
495         attributes.
496         Add all (including inherited) KnownTypeAttribute values to the
497         collection.
498
499 2006-03-18  Ankit Jain  <jankit@novell.com>
500
501         * SerializationMap.cs (SerializationMap.GetEmptyInstance): Rename to ..
502         (SerializationMap.GetInstance): .. this. Gets the instance or null if nil=true.
503         (SerializationMap.DeserializeInternal): New. Renamed from .. 
504         (SerializationMap.Deserialize): .. this. Check DataContract equivalence, and use new
505         DeserializeInternal for rest of the work.
506         (DeserializeContent): Cleanup and handle various "null" cases.
507         * XmlFormatterSerializer.cs (Write_i_type): New. Write i:type=".."
508         (SerializeNonPrimitive): Update to use Write_i_type.
509         * DataContractSerializer.cs (WriteStartObject): Add rootType to known_types.
510
511 2006-03-16  Ankit Jain  <jankit@novell.com>
512
513         * SerializationMap.cs (SerializationMap.Deserialize): Use NameTable.Get
514         before reader.LookupNamespace.
515         (DataMemberInfo.Compare): Use String.CompareOrdinal instead of
516         String.Compare.
517
518 2006-03-16  Ankit Jain  <jankit@novell.com>
519
520         * SerializationMap.cs (SerializationMap.GetEmptyInstance): New.
521         (SerializationMap.Deserialize): Refactor, handle primitive types and nils.
522         (SerializationMap.DeserializeContent): Handle nils and nested DataContracts.
523         (SharedContractMap.ctor): Include inherited properties and fields, in
524         the correct order.
525
526 2006-03-15  Ankit Jain  <jankit@novell.com>
527
528         * KnownTypeCollection.cs (IsPrimitiveType): New.
529         * SerializationMap.cs (Deserialize): Handle primitive types.
530
531 2006-03-15  Ankit Jain  <jankit@novell.com>
532
533         * DataContractSerializer.cs (WriteObjectContent): Handle null.
534         (WriteStartObject): Rewritten.
535         * KnownTypeCollection.cs (GetQName): New. Return QName for a given type.        
536         (GetContractQName):
537         (GetSerializableQName):
538         (GetCollectionQName): New.
539         (RegisterContract):
540         (RegisterSerializable):
541         (RegisterCollection): Update to use new Get* methods.
542         * SerializationMap.cs (CheckDataContractEqual): New.
543         (Deserialize): Split into this and ..
544         (DeserializeContent): .. this.
545         * XmlDictionaryWriter.cs (CreateTextWriter): Use UTF8Encoding.
546
547 2006-03-09  Atsushi Enomoto  <atsushi@ximian.com>
548
549         * DataContractSerializer.cs : xmlns output should be done at
550           WriteStartObject().
551
552 2006-03-08  Ankit Jain  <jankit@novell.com>
553
554         * DataContractSerializer.cs (.ctor): Use name & namespace specified (if any) 
555         with the DataContractAttribute for non-primitive types.
556         (DataContractSerializer.WriteStartObject): DataContractAttribute.Name
557         cannot be "".
558
559 2006-03-03  Atsushi Enomoto  <atsushi@ximian.com>
560
561         * DataContractSerializer.cs : Handle primitive type name rather than
562           raw type name in constructors that don't receive root QName.
563           In case the actual graph is not of root type, write xsi:type.
564
565 2006-03-02  Atsushi Enomoto  <atsushi@ximian.com>
566
567         * KnownTypeCollection.cs : default namespace contains common MS base
568           URI fragment.
569         * XmlObjectSerializer.cs : added internal common utility field.
570         * DataContractSerializer.cs : Fixed constructors to fill fields and
571           make it work.
572         * NetDataContractSerializer.cs : just leave it unimplemented until
573           we find how it works. It looks different from what
574           DataContractSerializer does.
575
576 2006-01-17  Atsushi Enomoto  <atsushi@ximian.com>
577
578         * XmlFormatter.cs : extra namespaces are not written in Dec.CTP.
579
580 2005-11-28  Atsushi Enomoto  <atsushi@ximian.com>
581
582         * KnownTypeCollection.cs : override.
583
584 2005-11-02  Atsushi Enomoto  <atsushi@ximian.com>
585
586         * SerializationMap.cs, XmlFormatterSerializer.cs, XmlFormatter.cs
587           XmlFormatterDeserializer.cs, KnownTypeCollection.cs :
588           several changes. Partial support for collection serialization.
589           SerializationMap now contains its own Deserialize()/Serialize()
590           methods.
591
592 2005-10-20  Atsushi Enomoto  <atsushi@ximian.com>
593
594         * XmlFormatterDeserializer.cs : new file.
595         * SerializationMap.cs, XmlFormatter.cs, KnownTypeCollection.cs :
596           several changes for pretty primitive Deserialize() implementation.
597
598 2005-10-07  Atsushi Enomoto  <atsushi@ximian.com>
599
600         Added hacky serialization feature. Actually it should be rewritten to
601         be based on IDataContractSurrogate.
602         * SerializationMap.cs, XmlFormatterSerializer.cs :
603           new files for Serialize() implementation.
604         * KnownTypeCollection.cs : use serialization maps to check contracts.
605         * XmlFormatter.cs : implemented hacky Serialize().
606         * DataMemberAttribute.cs : default Order is -1.
607         * DataContractAttribute.cs : added tiny comment.
608
609 2005-10-03  Atsushi Enomoto  <atsushi@ximian.com>
610
611         * XmlFormatter.cs : Added implementation switch between
612           BinaryFormatter and internal DataContractFormatter.
613         * XmlSerializableServices.cs : WriteNodes() impl.
614
615 2005-10-03  Atsushi Enomoto  <atsushi@ximian.com>
616
617         * XmlSerializableServices.cs : ReadNodes() impl.
618
619 2005-09-28  Atsushi Enomoto  <atsushi@ximian.com>
620
621         * KnownTypeAttribute.cs : fixed attribute usage.
622
623 2005-09-22  Atsushi Enomoto  <atsushi@ximian.com>
624
625         * IDataContractSurrogate.cs, ContractNamespaceAttribute.cs,
626           XsdDataContractExporter.cs, KnownTypeAttribute.cs,
627           SerializationMode.cs, XmlFormatter.cs, DataMemberAttribute.cs,
628           ImportOptions.cs, UnknownSerializationData.cs,
629           SerializationFactoryMethodAttribute.cs, XmlSerializableServices.cs,
630           DataContractAttribute.cs, ExportOptions.cs,
631           InvalidDataContractException.cs, IUnknownSerializationData.cs,
632           CollectionDataContractAttribute.cs, XsdDataContractImporter.cs,
633           KnownTypeCollection.cs :
634           #if NET_2_0. coding style was updated.
635
636 2005-09-22  Atsushi Enomoto  <atsushi@ximian.com>
637
638         * CollectionDataContractAttribute.cs
639           ContractNamespaceAttribute.cs
640           DataContractAttribute.cs
641           DataMemberAttribute.cs
642           ExportOptions.cs
643           IDataContractSurrogate.cs
644           InvalidDataContractException.cs
645           IUnknownSerializationData.cs
646           ImportOptions.cs
647           KnownTypeAttribute.cs
648           KnownTypeCollection.cs
649           SerializationFactoryMethodAttribute.cs
650           SerializationMode.cs
651           UnknownSerializationData.cs
652           XmlFormatter.cs
653           XmlSerializableServices.cs
654           XsdDataContractExporter.cs
655           XsdDataContractImporter.cs : new files.
656