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