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