[runtime] Updates comments.
[mono.git] / mcs / class / corlib / System.Runtime.Serialization.Formatters.Binary / ChangeLog
1 2010-03-16  Jb Evain  <jbevain@novell.com>
2
3         * BinaryCommon.cs: use MOONLIGHT symbol to disambiguate
4         MonoTouch and Moonlight code.
5
6 2010-02-26  Robert Jordan  <robertj@gmx.net>
7
8         * ObjectReader.cs (ReadType, GetDeserializationType):
9         Add throwOnError parameter that specifies whether to throw an
10         exception if the type/assembly is not found.
11
12         * ObjectReader.cs (ReadTypeMetadata): Ignore unresolvable
13         types while reading the type info. Fixes #430583.
14
15         * ObjectReader.cs (GetDeserializationType): Rethrow caught
16         exceptions as SerializationExceptions.
17
18 2009-10-31  Sebastien Pouliot  <sebastien@ximian.com>
19
20         * BinaryCommon.cs: Disable MONO_REFLECTION_SERIALIZER override 
21         for Moonlight plugin.
22
23 2009-09-30 Gonzalo Paniagua Javier <gonzalo@novell.com>
24
25         * BinaryFormatter.cs: NoCheckDeserialize() was using PeekChar() on a
26         reader when it should only read 1 byte. Also BinaryReader.PeekChar()
27         tries to set the position of hte stream back to where it was before
28         the read, which does not work well with broken Stream
29         implementations like BZip2InputStream (reports CanSeek is true when
30         it really can't seek). Now we do a Read() and then pass the value we
31         read on to the next methods.
32
33         * MessageFormatter.cs: 
34         * ObjectReader.cs: added overloads that take a BinaryElement instead
35         of reading it from the reader. Only for the methods used in
36         NoCheckDeserialize.
37
38         Fixes bug #503435.
39
40 2009-03-29  Zoltan Varga  <vargaz@gmail.com>
41
42         * CodeGenerator.cs: Add synchronization as SRE is not thread safe.
43
44 2008-09-17  Robert Jordan  <robertj@gmx.net>>
45
46         * ObjectReader.cs (ReadTypeMetadata): Replace the check for
47         ISerializable with something less `reflective'.
48         Fixes #421664.
49
50 2008-06-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
51
52         * BinaryFormatter.cs: Fix parameter name
53
54 2008-04-26  Jb Evain  <jbevain@novell.com>
55
56         * CodeGenerator.cs: replace usage of new Type [0] by
57         Type.EmptyTypes. Found with Gendarme.
58
59 2008-04-02  Andreas Nahr  <ClassDevelopment@A-SoftTech.com>
60
61         * BinaryFormatter.cs: Fix parameter names
62
63 2007-08-25  Robert Jordan  <robertj@gmx.net>
64
65         * ObjectReader.cs, ObjectWriter.cs, CodeGenerator.cs:
66         Use DateTime.From/ToBinary. Fixes #82400.
67
68 2007-08-25  Alan McGovern  <amcgovern@novell.com>
69
70         * ObjectReader.cs, ObjectWriter.cs, CodeGenerator.cs:
71         Reverted fix for #82400.
72
73 2007-08-25  Robert Jordan  <robertj@gmx.net>
74
75         * ObjectReader.cs, ObjectWriter.cs, CodeGenerator.cs:
76         Use DateTime.From/ToBinary. Fixes #82400.
77
78 2007-08-23  Robert Jordan  <robertj@gmx.net>
79
80         * ObjectReader.cs, ObjectReader.cs: Map between System.MonoType[] and
81         MS.NET's System.RuntimeType[].
82         
83         * ObjectReader.cs (ReadType): When a type couldn't be found, emit
84         a more useful exception.
85
86 2007-05-03  Dick Porter  <dick@ximian.com>
87
88         * BinaryFormatter.cs: Update to 2.0 profile
89
90 2006-12-25  Robert Jordan  <robertj@gmx.net>
91
92         * binary_serialization_format.htm: Update the NET_2_0 format.
93         * BinaryCommon.cs: MethodFlags is actually an int32. Add NET_2_0 flags.
94         * MessageFormatter.cs: Add support for generic method arguments.
95         * ObjectWriter.cs, ObjectReader.cs: Map between System.MonoType and
96         MS.NET's System.RuntimeType.
97
98 2006-12-01  Lluis Sanchez Gual <lluis@novell.com> 
99
100         * MessageFormatter.cs: Include the logical context in the message when
101           throwing an exception. Fixes a compatibility issue with MS.NET.
102
103 2006-10-29  Robert Jordan  <robertj@gmx.net>
104
105         * ObjectWriter.cs, ObjectReader [NET_2_0]:
106         Use the SerializationObjectManager.
107
108 2006-09-05  Raja R Harinath  <rharinath@novell.com>
109
110         Fix #79159
111         * ObjectWriter.cs (WritePrimitiveTypeArray) [NET_2_0]: Encode the
112         'Kind' of each DateTime.
113         * ObjectReader.cs (ReadArrayOfPrimitiveType) [NET_2_0]: Decode the
114         'Kind' of each DateTime.
115
116 2005-12-07  Sebastien Pouliot  <sebastien@ximian.com>
117
118         * BinaryFormatter.cs: Implemented UnsafeDeserialize and 
119         UnsafeDeserializeMethodResponse methods. Fixes last TODO in this
120         namespace (for both 1.1 and 2.0 profiles).
121
122 2005-12-07  Lluis Sanchez Gual  <lluis@ximian.com>
123
124         * ObjectReader.cs: Added null check in GetDeserializationType.
125         Patch by Ben Maurer. Fixes bug #69666.
126
127 2005-12-01  Sebastien Pouliot  <sebastien@ximian.com>
128
129         * BinaryFormatter.cs: Added a demand for SerializationFormatter on 
130         Serialize method (to make some CAS test work correctly).
131
132 2005-05-26  Ben Maurer  <bmaurer@ximian.com>
133
134         * CodeGenerator.cs: Move module creation to cctor to kill double
135         checked locking and typeof locking.
136
137 2005-05-17  Lluis Sanchez Gual  <lluis@ximian.com>
138
139         * CodeGenerator.cs: Don't generate debug info here.
140
141 2005-05-09  Lluis Sanchez Gual  <lluis@ximian.com>
142
143         * ObjectWriter.cs:
144         * CodeGenerator.cs: No need to add the class for inherited fields,
145         since FieldInfo objects returned by the GetSerializableMembers
146         method will already include the class name if needed.
147
148 2005-03-23  Lluis Sanchez Gual  <lluis@ximian.com>
149
150         * BinaryCommon.cs: Added helper method for swapping bytes.
151         * ObjectReader.cs:
152         * ObjectWriter.cs: Implemented serialization of arrays of primitive
153         types using Buffer.BlockCopy to create byffers of data that is written/
154         read in a single call. It's much faster now.
155
156 2005-03-01  Lluis Sanchez Gual  <lluis@ximian.com>
157
158         * BinaryCommon.cs: Found the meaning of two unknown binary elements.
159         * CodeGenerator.cs: Derive generated classes from ClrTypeMetadata
160         instead of TypeMetadata. Added writeTypes parameter to WriteTypeData().
161         * ObjectWriter.cs: Use type and assembly names as keys for the type and
162         assembly caches. This is needed since ISerializable types can provide
163         fake type names (which are mapped to real types by a binder on
164         deserialization).
165         Implemented support for BinaryFormatter.TypeFormat.
166         * BinaryFormatter.cs, MessageFormatter.cs: Implemented support for
167         TypeFormat property.
168         * ObjectReader.cs: Added support for objects serialized without
169         member type information. This fixes bug #73114.
170         If a binder return null, use the default way of loading the type.
171
172 2005-02-25  Lluis Sanchez Gual  <lluis@ximian.com>
173
174         * ObjectReader.cs: In ReadArrayOfPrimitiveType, added a specific
175         read loop for each type. It's much faster and avoids value boxings.
176
177 2005-01-10  Lluis Sanchez Gual  <lluis@ximian.com>
178
179         * BinaryCommon.cs: IntPtr is not a primitive type in the serialization
180         world. This fixes bug #70757.
181
182 2004-12-15  Lluis Sanchez Gual  <lluis@ximian.com>
183
184         * ObjectReader.cs: Use GetField instead of GetMembers. Properties can't
185         be serialized, so it makes no sense to use GetMembers.
186
187 2004-12-08  Zoltan Varga  <vargaz@freemail.hu>
188
189         * CodeGenerator.cs: Call new DefineInternalDynamicAssembly method to prevent a race
190         condition in the setting of the CorlibInternal flag.
191
192 2004-12-06  Zoltan Varga  <vargaz@freemail.hu>
193
194         * CodeGenerator.cs: Mark the created assembly builder as internal.
195
196 2004-11-29  Lluis Sanchez Gual  <lluis@ximian.com>
197
198         * CodeGenerator.cs: Addded EnumToUnderlying method to get the underlying
199         type of an enum. This fixes bug #69753.
200
201 2004-07-02  Lluis Sanchez Gual  <lluis@ximian.com>
202
203         * BinaryCommon.cs: Added CheckSerializable method.
204         * ObjectWriter.cs: Check for type serializability even for members with
205           null values.
206         
207 2004-05-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
208
209         * ObjectWriter.cs: reduce contention in GetObjectData.
210
211 2004-05-14  Vladimir Vukicevic  <vladimir@pobox.com>
212
213         * binary_serialization_format.htm: renamed filename from having
214           spaces to _'s (checked with lluis)
215
216 2004-05-13  Lluis Sanchez Gual  <lluis@ximian.com>
217
218         * ObjectWriter.cs: Fixed and Simplified WriteGenericArray and 
219           WriteSingleDimensionArrayElements. This also fixes bug #58345.
220
221 2004-05-03  Lluis Sanchez Gual  <lluis@ximian.com>
222
223         * MessageFormatter.cs: In the all-are-primitive case, serialize Args, 
224           not OutArgs.
225
226 2004-04-28  Lluis Sanchez Gual <lluis@ximian.com>
227
228         * MessageFormatter.cs: Serialize Args, not OutArgs, like in MS.NET.
229
230 2004-04-26  Lluis Sanchez Gual <lluis@ximian.com>
231
232         * ObjectReader.cs, ObjectWriter.cs: FIXME cleaning.
233
234 2004-04-20  Lluis Sanchez Gual <lluis@ximian.com>
235
236         * CodeGenerator.cs, ObjectReader.cs, ObjectWriter.cs: Serialize decimals
237           as strings, like in MS.NET. This fixes bug #57186.
238
239 2004-02-23  Lluis Sanchez Gual <lluis@ximian.com>
240
241         * BinaryCommon.cs: Added UseReflectionSerialization property.
242         * CodeGenerator.cs, ObjectWriter.cs: When serializing the name of an 
243           inherited field, prefix the name with the class name. This fixes #54439.
244           Moved check for reflection serialization variable to BinaryCommon.
245         
246 2004-02-17  Lluis Sanchez Gual <lluis@ximian.com>
247
248         * ObjectWriter.cs: Factorized some serialization code in new classes, so it
249           is now possible to use fast IL generated classes that use direct access
250           to class fields instead of using reflection.
251         * CodeGenerator.cs: New file. Has several methods used by ObjectWriter to 
252           generate serialization code.
253
254 2004-02-05  Lluis Sanchez Gual <lluis@ximian.com>
255
256         * ObjectWriter.cs: Get the assembly of a member from the member's type, not
257           from the type of the value, because that is the type written in the
258           metadata section of the object.
259
260 2003-12-23  Lluis Sanchez Gual <lluis@ximian.com>
261
262         * ObjectReader.cs: Field names can include the type name if the field
263           belongs to a base type. Take this into account.
264
265 2003-11-26  Lluis Sanchez Gual <lluis@ximian.com>
266
267         * BinaryFormatter.cs: Added missing methods.
268
269 2003-11-20  Lluis Sanchez Gual <lluis@ximian.com>
270
271         * BinaryFormatter.cs, MessageFormatter.cs, ObjectReader.cs: Added support
272           for TypeFilter property.
273
274 2003-11-16  Lluis Sanchez Gual <lluis@ximian.com>
275
276         * BinaryFormatter.cs, MessageFormatter.cs, ObjectWriter.cs: 
277           Implemented support for AssemblyFormat property.
278
279 2003-11-12  Lluis Sanchez Gual <lluis@ximian.com>
280
281         * ObjectReader.cs, ObjectWriter.cs: Changed some GetType calls to "is" checks.
282
283 2003-07-28  Duncan Mak  <duncan@ximian.com>
284
285         * BinaryFormatter.cs (WriteBinaryHeader): changed from public to
286         private.
287
288 2003-07-25  Lluis Sanchez Gual <lluis@ximian.com>
289
290     * MessageFormatter.cs: WriteMethodCall(): It must write all parameters,
291       including ref and out.
292
293 2003-07-24  Lluis Sanchez Gual <lluis@ximian.com>
294
295     * ObjectReader.cs, ObjectWriter.cs, BinaryCommon.cs: Fixed bug #45970.
296
297 2003-07-17  Lluis Sanchez Gual <lluis@ximian.com>
298
299     * ObjectReader.cs: Keep MemberInfo members in type's metadata object, so it is
300       not necessary to query them for every object.
301     * ObjectWriter.cs: If the value being serialized is a value type (not boxed)
302       then there is no need to register it in the ObjectIDGenerator, because it is
303       not possible to have two references to the same value type object.
304
305 2003-05-13  Lluis Sanchez Gual <lluis@ideary.com>
306
307     * ObjectReader.cs: Changed signature of ReadObjectGraph, so now it returns the
308       deserialized object and the headers.
309     * MessageFormatter.cs: The result of the call to the HeaderHandler delegate is
310       now interpreted as the uri of the target object. This seems to be MS.NET
311       behavior.
312         * BinaryFormatter.cs: Deserialize now calls the HeaderHandler delegate,
313           if provided.
314
315 2003-02-25  Lluis Sanchez Gual <lluis@ideary.com>
316
317         * BinaryFormatter.cs: Implemented support for binders.
318     * MessageFormatter.cs: Implemented support for binders.
319     * ObjectReader.cs: Implemented support for binders.
320
321 2003-02-04  Lluis Sanchez Gual <lluis@ideary.com>
322
323     * MessageFormatter.cs: Fixed bug in serialization of arguments.
324     * ObjectReader.cs: Fixed bug causing array of structs to fail.
325
326 2003-02-11  Patrik Torstensson
327
328     * ObjectReader.cs: Fixed root object bug causing object reader to return root object 
329           before fixup. Closes bug #37842.
330
331 2003-02-04  Lluis Sanchez Gual <lluis@ideary.com>
332
333     * MessageFormatter.cs: Corrected some bugs that affected serialization of exceptions
334
335 2003-02-04  Lluis Sanchez Gual <lluis@ideary.com>
336
337     * MessageFormatter.cs: Implemented serialization of message properties.
338
339 2003-01-24  Martin Baulig  <martin@ximian.com>
340
341         * ObjectReader.cs (ReadNextObject): Call
342         RaiseDeserializationEvent() on the ObjectManager when we're done
343         reading the whole graph.
344
345 2003-01-24  Lluis Sanchez Gual <lluis@ideary.com>
346
347     * ObjectWriter.cs, ObjectReader.cs: Added suport for headers. 
348       Corrected encoding of primitive types. Corrected a bug about zero-length arrays. 
349     * MessageFormatter.cs: Added. Implements serialization of messages.
350     * BinaryFormatter.cs: Added serialization of messages.
351     * BinaryCommon.cs: Added enum of codes of primitive types.
352
353 2003-01-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
354
355         * ObjectWriter.cs: make the exception message more useful.
356
357 2003-01-16  Lluis Sanchez Gual <lluis@ideary.com>
358
359     * BinaryFormatter.cs: implemented Serialize and Deserialize methods.
360     * ObjectReader.cs: added.
361     * ObjectWriter.cs: added.
362     * BinaryCommon.cs. added.
363
364 2002-08-22  Nick Drochak  <ndrochak@gol.com>
365
366         * BinaryArrayTypeEnum.cs: Removed Non-existent enum (must have been
367         from beta days)
368
369 2002-08-18  Dick Porter  <dick@ximian.com>
370
371         * BinaryFormatter.cs: Stubbed out