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