1 2006-12-25 Robert Jordan <robertj@gmx.net>
3 * binary_serialization_format.htm: Update the NET_2_0 format.
4 * BinaryCommon.cs: MethodFlags is actually an int32. Add NET_2_0 flags.
5 * MessageFormatter.cs: Add support for generic method arguments.
6 * ObjectWriter.cs, ObjectReader.cs: Map between System.MonoType and
7 MS.NET's System.RuntimeType.
9 2006-12-01 Lluis Sanchez Gual <lluis@novell.com>
11 * MessageFormatter.cs: Include the logical context in the message when
12 throwing an exception. Fixes a compatibility issue with MS.NET.
14 2006-10-29 Robert Jordan <robertj@gmx.net>
16 * ObjectWriter.cs, ObjectReader [NET_2_0]:
17 Use the SerializationObjectManager.
19 2006-09-05 Raja R Harinath <rharinath@novell.com>
22 * ObjectWriter.cs (WritePrimitiveTypeArray) [NET_2_0]: Encode the
23 'Kind' of each DateTime.
24 * ObjectReader.cs (ReadArrayOfPrimitiveType) [NET_2_0]: Decode the
25 'Kind' of each DateTime.
27 2005-12-07 Sebastien Pouliot <sebastien@ximian.com>
29 * BinaryFormatter.cs: Implemented UnsafeDeserialize and
30 UnsafeDeserializeMethodResponse methods. Fixes last TODO in this
31 namespace (for both 1.1 and 2.0 profiles).
33 2005-12-07 Lluis Sanchez Gual <lluis@ximian.com>
35 * ObjectReader.cs: Added null check in GetDeserializationType.
36 Patch by Ben Maurer. Fixes bug #69666.
38 2005-12-01 Sebastien Pouliot <sebastien@ximian.com>
40 * BinaryFormatter.cs: Added a demand for SerializationFormatter on
41 Serialize method (to make some CAS test work correctly).
43 2005-05-26 Ben Maurer <bmaurer@ximian.com>
45 * CodeGenerator.cs: Move module creation to cctor to kill double
46 checked locking and typeof locking.
48 2005-05-17 Lluis Sanchez Gual <lluis@ximian.com>
50 * CodeGenerator.cs: Don't generate debug info here.
52 2005-05-09 Lluis Sanchez Gual <lluis@ximian.com>
55 * CodeGenerator.cs: No need to add the class for inherited fields,
56 since FieldInfo objects returned by the GetSerializableMembers
57 method will already include the class name if needed.
59 2005-03-23 Lluis Sanchez Gual <lluis@ximian.com>
61 * BinaryCommon.cs: Added helper method for swapping bytes.
63 * ObjectWriter.cs: Implemented serialization of arrays of primitive
64 types using Buffer.BlockCopy to create byffers of data that is written/
65 read in a single call. It's much faster now.
67 2005-03-01 Lluis Sanchez Gual <lluis@ximian.com>
69 * BinaryCommon.cs: Found the meaning of two unknown binary elements.
70 * CodeGenerator.cs: Derive generated classes from ClrTypeMetadata
71 instead of TypeMetadata. Added writeTypes parameter to WriteTypeData().
72 * ObjectWriter.cs: Use type and assembly names as keys for the type and
73 assembly caches. This is needed since ISerializable types can provide
74 fake type names (which are mapped to real types by a binder on
76 Implemented support for BinaryFormatter.TypeFormat.
77 * BinaryFormatter.cs, MessageFormatter.cs: Implemented support for
79 * ObjectReader.cs: Added support for objects serialized without
80 member type information. This fixes bug #73114.
81 If a binder return null, use the default way of loading the type.
83 2005-02-25 Lluis Sanchez Gual <lluis@ximian.com>
85 * ObjectReader.cs: In ReadArrayOfPrimitiveType, added a specific
86 read loop for each type. It's much faster and avoids value boxings.
88 2005-01-10 Lluis Sanchez Gual <lluis@ximian.com>
90 * BinaryCommon.cs: IntPtr is not a primitive type in the serialization
91 world. This fixes bug #70757.
93 2004-12-15 Lluis Sanchez Gual <lluis@ximian.com>
95 * ObjectReader.cs: Use GetField instead of GetMembers. Properties can't
96 be serialized, so it makes no sense to use GetMembers.
98 2004-12-08 Zoltan Varga <vargaz@freemail.hu>
100 * CodeGenerator.cs: Call new DefineInternalDynamicAssembly method to prevent a race
101 condition in the setting of the CorlibInternal flag.
103 2004-12-06 Zoltan Varga <vargaz@freemail.hu>
105 * CodeGenerator.cs: Mark the created assembly builder as internal.
107 2004-11-29 Lluis Sanchez Gual <lluis@ximian.com>
109 * CodeGenerator.cs: Addded EnumToUnderlying method to get the underlying
110 type of an enum. This fixes bug #69753.
112 2004-07-02 Lluis Sanchez Gual <lluis@ximian.com>
114 * BinaryCommon.cs: Added CheckSerializable method.
115 * ObjectWriter.cs: Check for type serializability even for members with
118 2004-05-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
120 * ObjectWriter.cs: reduce contention in GetObjectData.
122 2004-05-14 Vladimir Vukicevic <vladimir@pobox.com>
124 * binary_serialization_format.htm: renamed filename from having
125 spaces to _'s (checked with lluis)
127 2004-05-13 Lluis Sanchez Gual <lluis@ximian.com>
129 * ObjectWriter.cs: Fixed and Simplified WriteGenericArray and
130 WriteSingleDimensionArrayElements. This also fixes bug #58345.
132 2004-05-03 Lluis Sanchez Gual <lluis@ximian.com>
134 * MessageFormatter.cs: In the all-are-primitive case, serialize Args,
137 2004-04-28 Lluis Sanchez Gual <lluis@ximian.com>
139 * MessageFormatter.cs: Serialize Args, not OutArgs, like in MS.NET.
141 2004-04-26 Lluis Sanchez Gual <lluis@ximian.com>
143 * ObjectReader.cs, ObjectWriter.cs: FIXME cleaning.
145 2004-04-20 Lluis Sanchez Gual <lluis@ximian.com>
147 * CodeGenerator.cs, ObjectReader.cs, ObjectWriter.cs: Serialize decimals
148 as strings, like in MS.NET. This fixes bug #57186.
150 2004-02-23 Lluis Sanchez Gual <lluis@ximian.com>
152 * BinaryCommon.cs: Added UseReflectionSerialization property.
153 * CodeGenerator.cs, ObjectWriter.cs: When serializing the name of an
154 inherited field, prefix the name with the class name. This fixes #54439.
155 Moved check for reflection serialization variable to BinaryCommon.
157 2004-02-17 Lluis Sanchez Gual <lluis@ximian.com>
159 * ObjectWriter.cs: Factorized some serialization code in new classes, so it
160 is now possible to use fast IL generated classes that use direct access
161 to class fields instead of using reflection.
162 * CodeGenerator.cs: New file. Has several methods used by ObjectWriter to
163 generate serialization code.
165 2004-02-05 Lluis Sanchez Gual <lluis@ximian.com>
167 * ObjectWriter.cs: Get the assembly of a member from the member's type, not
168 from the type of the value, because that is the type written in the
169 metadata section of the object.
171 2003-12-23 Lluis Sanchez Gual <lluis@ximian.com>
173 * ObjectReader.cs: Field names can include the type name if the field
174 belongs to a base type. Take this into account.
176 2003-11-26 Lluis Sanchez Gual <lluis@ximian.com>
178 * BinaryFormatter.cs: Added missing methods.
180 2003-11-20 Lluis Sanchez Gual <lluis@ximian.com>
182 * BinaryFormatter.cs, MessageFormatter.cs, ObjectReader.cs: Added support
183 for TypeFilter property.
185 2003-11-16 Lluis Sanchez Gual <lluis@ximian.com>
187 * BinaryFormatter.cs, MessageFormatter.cs, ObjectWriter.cs:
188 Implemented support for AssemblyFormat property.
190 2003-11-12 Lluis Sanchez Gual <lluis@ximian.com>
192 * ObjectReader.cs, ObjectWriter.cs: Changed some GetType calls to "is" checks.
194 2003-07-28 Duncan Mak <duncan@ximian.com>
196 * BinaryFormatter.cs (WriteBinaryHeader): changed from public to
199 2003-07-25 Lluis Sanchez Gual <lluis@ximian.com>
201 * MessageFormatter.cs: WriteMethodCall(): It must write all parameters,
202 including ref and out.
204 2003-07-24 Lluis Sanchez Gual <lluis@ximian.com>
206 * ObjectReader.cs, ObjectWriter.cs, BinaryCommon.cs: Fixed bug #45970.
208 2003-07-17 Lluis Sanchez Gual <lluis@ximian.com>
210 * ObjectReader.cs: Keep MemberInfo members in type's metadata object, so it is
211 not necessary to query them for every object.
212 * ObjectWriter.cs: If the value being serialized is a value type (not boxed)
213 then there is no need to register it in the ObjectIDGenerator, because it is
214 not possible to have two references to the same value type object.
216 2003-05-13 Lluis Sanchez Gual <lluis@ideary.com>
218 * ObjectReader.cs: Changed signature of ReadObjectGraph, so now it returns the
219 deserialized object and the headers.
220 * MessageFormatter.cs: The result of the call to the HeaderHandler delegate is
221 now interpreted as the uri of the target object. This seems to be MS.NET
223 * BinaryFormatter.cs: Deserialize now calls the HeaderHandler delegate,
226 2003-02-25 Lluis Sanchez Gual <lluis@ideary.com>
228 * BinaryFormatter.cs: Implemented support for binders.
229 * MessageFormatter.cs: Implemented support for binders.
230 * ObjectReader.cs: Implemented support for binders.
232 2003-02-04 Lluis Sanchez Gual <lluis@ideary.com>
234 * MessageFormatter.cs: Fixed bug in serialization of arguments.
235 * ObjectReader.cs: Fixed bug causing array of structs to fail.
237 2003-02-11 Patrik Torstensson
239 * ObjectReader.cs: Fixed root object bug causing object reader to return root object
240 before fixup. Closes bug #37842.
242 2003-02-04 Lluis Sanchez Gual <lluis@ideary.com>
244 * MessageFormatter.cs: Corrected some bugs that affected serialization of exceptions
246 2003-02-04 Lluis Sanchez Gual <lluis@ideary.com>
248 * MessageFormatter.cs: Implemented serialization of message properties.
250 2003-01-24 Martin Baulig <martin@ximian.com>
252 * ObjectReader.cs (ReadNextObject): Call
253 RaiseDeserializationEvent() on the ObjectManager when we're done
254 reading the whole graph.
256 2003-01-24 Lluis Sanchez Gual <lluis@ideary.com>
258 * ObjectWriter.cs, ObjectReader.cs: Added suport for headers.
259 Corrected encoding of primitive types. Corrected a bug about zero-length arrays.
260 * MessageFormatter.cs: Added. Implements serialization of messages.
261 * BinaryFormatter.cs: Added serialization of messages.
262 * BinaryCommon.cs: Added enum of codes of primitive types.
264 2003-01-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
266 * ObjectWriter.cs: make the exception message more useful.
268 2003-01-16 Lluis Sanchez Gual <lluis@ideary.com>
270 * BinaryFormatter.cs: implemented Serialize and Deserialize methods.
271 * ObjectReader.cs: added.
272 * ObjectWriter.cs: added.
273 * BinaryCommon.cs. added.
275 2002-08-22 Nick Drochak <ndrochak@gol.com>
277 * BinaryArrayTypeEnum.cs: Removed Non-existent enum (must have been
280 2002-08-18 Dick Porter <dick@ximian.com>
282 * BinaryFormatter.cs: Stubbed out