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