1 2010-03-16 Jb Evain <jbevain@novell.com>
3 * BinaryCommon.cs: use MOONLIGHT symbol to disambiguate
4 MonoTouch and Moonlight code.
6 2010-02-26 Robert Jordan <robertj@gmx.net>
8 * ObjectReader.cs (ReadType, GetDeserializationType):
9 Add throwOnError parameter that specifies whether to throw an
10 exception if the type/assembly is not found.
12 * ObjectReader.cs (ReadTypeMetadata): Ignore unresolvable
13 types while reading the type info. Fixes #430583.
15 * ObjectReader.cs (GetDeserializationType): Rethrow caught
16 exceptions as SerializationExceptions.
18 2009-10-31 Sebastien Pouliot <sebastien@ximian.com>
20 * BinaryCommon.cs: Disable MONO_REFLECTION_SERIALIZER override
23 2009-09-30 Gonzalo Paniagua Javier <gonzalo@novell.com>
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.
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
40 2009-03-29 Zoltan Varga <vargaz@gmail.com>
42 * CodeGenerator.cs: Add synchronization as SRE is not thread safe.
44 2008-09-17 Robert Jordan <robertj@gmx.net>>
46 * ObjectReader.cs (ReadTypeMetadata): Replace the check for
47 ISerializable with something less `reflective'.
50 2008-06-27 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
52 * BinaryFormatter.cs: Fix parameter name
54 2008-04-26 Jb Evain <jbevain@novell.com>
56 * CodeGenerator.cs: replace usage of new Type [0] by
57 Type.EmptyTypes. Found with Gendarme.
59 2008-04-02 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
61 * BinaryFormatter.cs: Fix parameter names
63 2007-08-25 Robert Jordan <robertj@gmx.net>
65 * ObjectReader.cs, ObjectWriter.cs, CodeGenerator.cs:
66 Use DateTime.From/ToBinary. Fixes #82400.
68 2007-08-25 Alan McGovern <amcgovern@novell.com>
70 * ObjectReader.cs, ObjectWriter.cs, CodeGenerator.cs:
71 Reverted fix for #82400.
73 2007-08-25 Robert Jordan <robertj@gmx.net>
75 * ObjectReader.cs, ObjectWriter.cs, CodeGenerator.cs:
76 Use DateTime.From/ToBinary. Fixes #82400.
78 2007-08-23 Robert Jordan <robertj@gmx.net>
80 * ObjectReader.cs, ObjectReader.cs: Map between System.MonoType[] and
81 MS.NET's System.RuntimeType[].
83 * ObjectReader.cs (ReadType): When a type couldn't be found, emit
84 a more useful exception.
86 2007-05-03 Dick Porter <dick@ximian.com>
88 * BinaryFormatter.cs: Update to 2.0 profile
90 2006-12-25 Robert Jordan <robertj@gmx.net>
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.
98 2006-12-01 Lluis Sanchez Gual <lluis@novell.com>
100 * MessageFormatter.cs: Include the logical context in the message when
101 throwing an exception. Fixes a compatibility issue with MS.NET.
103 2006-10-29 Robert Jordan <robertj@gmx.net>
105 * ObjectWriter.cs, ObjectReader [NET_2_0]:
106 Use the SerializationObjectManager.
108 2006-09-05 Raja R Harinath <rharinath@novell.com>
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.
116 2005-12-07 Sebastien Pouliot <sebastien@ximian.com>
118 * BinaryFormatter.cs: Implemented UnsafeDeserialize and
119 UnsafeDeserializeMethodResponse methods. Fixes last TODO in this
120 namespace (for both 1.1 and 2.0 profiles).
122 2005-12-07 Lluis Sanchez Gual <lluis@ximian.com>
124 * ObjectReader.cs: Added null check in GetDeserializationType.
125 Patch by Ben Maurer. Fixes bug #69666.
127 2005-12-01 Sebastien Pouliot <sebastien@ximian.com>
129 * BinaryFormatter.cs: Added a demand for SerializationFormatter on
130 Serialize method (to make some CAS test work correctly).
132 2005-05-26 Ben Maurer <bmaurer@ximian.com>
134 * CodeGenerator.cs: Move module creation to cctor to kill double
135 checked locking and typeof locking.
137 2005-05-17 Lluis Sanchez Gual <lluis@ximian.com>
139 * CodeGenerator.cs: Don't generate debug info here.
141 2005-05-09 Lluis Sanchez Gual <lluis@ximian.com>
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.
148 2005-03-23 Lluis Sanchez Gual <lluis@ximian.com>
150 * BinaryCommon.cs: Added helper method for swapping bytes.
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.
156 2005-03-01 Lluis Sanchez Gual <lluis@ximian.com>
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
165 Implemented support for BinaryFormatter.TypeFormat.
166 * BinaryFormatter.cs, MessageFormatter.cs: Implemented support for
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.
172 2005-02-25 Lluis Sanchez Gual <lluis@ximian.com>
174 * ObjectReader.cs: In ReadArrayOfPrimitiveType, added a specific
175 read loop for each type. It's much faster and avoids value boxings.
177 2005-01-10 Lluis Sanchez Gual <lluis@ximian.com>
179 * BinaryCommon.cs: IntPtr is not a primitive type in the serialization
180 world. This fixes bug #70757.
182 2004-12-15 Lluis Sanchez Gual <lluis@ximian.com>
184 * ObjectReader.cs: Use GetField instead of GetMembers. Properties can't
185 be serialized, so it makes no sense to use GetMembers.
187 2004-12-08 Zoltan Varga <vargaz@freemail.hu>
189 * CodeGenerator.cs: Call new DefineInternalDynamicAssembly method to prevent a race
190 condition in the setting of the CorlibInternal flag.
192 2004-12-06 Zoltan Varga <vargaz@freemail.hu>
194 * CodeGenerator.cs: Mark the created assembly builder as internal.
196 2004-11-29 Lluis Sanchez Gual <lluis@ximian.com>
198 * CodeGenerator.cs: Addded EnumToUnderlying method to get the underlying
199 type of an enum. This fixes bug #69753.
201 2004-07-02 Lluis Sanchez Gual <lluis@ximian.com>
203 * BinaryCommon.cs: Added CheckSerializable method.
204 * ObjectWriter.cs: Check for type serializability even for members with
207 2004-05-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
209 * ObjectWriter.cs: reduce contention in GetObjectData.
211 2004-05-14 Vladimir Vukicevic <vladimir@pobox.com>
213 * binary_serialization_format.htm: renamed filename from having
214 spaces to _'s (checked with lluis)
216 2004-05-13 Lluis Sanchez Gual <lluis@ximian.com>
218 * ObjectWriter.cs: Fixed and Simplified WriteGenericArray and
219 WriteSingleDimensionArrayElements. This also fixes bug #58345.
221 2004-05-03 Lluis Sanchez Gual <lluis@ximian.com>
223 * MessageFormatter.cs: In the all-are-primitive case, serialize Args,
226 2004-04-28 Lluis Sanchez Gual <lluis@ximian.com>
228 * MessageFormatter.cs: Serialize Args, not OutArgs, like in MS.NET.
230 2004-04-26 Lluis Sanchez Gual <lluis@ximian.com>
232 * ObjectReader.cs, ObjectWriter.cs: FIXME cleaning.
234 2004-04-20 Lluis Sanchez Gual <lluis@ximian.com>
236 * CodeGenerator.cs, ObjectReader.cs, ObjectWriter.cs: Serialize decimals
237 as strings, like in MS.NET. This fixes bug #57186.
239 2004-02-23 Lluis Sanchez Gual <lluis@ximian.com>
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.
246 2004-02-17 Lluis Sanchez Gual <lluis@ximian.com>
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.
254 2004-02-05 Lluis Sanchez Gual <lluis@ximian.com>
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.
260 2003-12-23 Lluis Sanchez Gual <lluis@ximian.com>
262 * ObjectReader.cs: Field names can include the type name if the field
263 belongs to a base type. Take this into account.
265 2003-11-26 Lluis Sanchez Gual <lluis@ximian.com>
267 * BinaryFormatter.cs: Added missing methods.
269 2003-11-20 Lluis Sanchez Gual <lluis@ximian.com>
271 * BinaryFormatter.cs, MessageFormatter.cs, ObjectReader.cs: Added support
272 for TypeFilter property.
274 2003-11-16 Lluis Sanchez Gual <lluis@ximian.com>
276 * BinaryFormatter.cs, MessageFormatter.cs, ObjectWriter.cs:
277 Implemented support for AssemblyFormat property.
279 2003-11-12 Lluis Sanchez Gual <lluis@ximian.com>
281 * ObjectReader.cs, ObjectWriter.cs: Changed some GetType calls to "is" checks.
283 2003-07-28 Duncan Mak <duncan@ximian.com>
285 * BinaryFormatter.cs (WriteBinaryHeader): changed from public to
288 2003-07-25 Lluis Sanchez Gual <lluis@ximian.com>
290 * MessageFormatter.cs: WriteMethodCall(): It must write all parameters,
291 including ref and out.
293 2003-07-24 Lluis Sanchez Gual <lluis@ximian.com>
295 * ObjectReader.cs, ObjectWriter.cs, BinaryCommon.cs: Fixed bug #45970.
297 2003-07-17 Lluis Sanchez Gual <lluis@ximian.com>
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.
305 2003-05-13 Lluis Sanchez Gual <lluis@ideary.com>
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
312 * BinaryFormatter.cs: Deserialize now calls the HeaderHandler delegate,
315 2003-02-25 Lluis Sanchez Gual <lluis@ideary.com>
317 * BinaryFormatter.cs: Implemented support for binders.
318 * MessageFormatter.cs: Implemented support for binders.
319 * ObjectReader.cs: Implemented support for binders.
321 2003-02-04 Lluis Sanchez Gual <lluis@ideary.com>
323 * MessageFormatter.cs: Fixed bug in serialization of arguments.
324 * ObjectReader.cs: Fixed bug causing array of structs to fail.
326 2003-02-11 Patrik Torstensson
328 * ObjectReader.cs: Fixed root object bug causing object reader to return root object
329 before fixup. Closes bug #37842.
331 2003-02-04 Lluis Sanchez Gual <lluis@ideary.com>
333 * MessageFormatter.cs: Corrected some bugs that affected serialization of exceptions
335 2003-02-04 Lluis Sanchez Gual <lluis@ideary.com>
337 * MessageFormatter.cs: Implemented serialization of message properties.
339 2003-01-24 Martin Baulig <martin@ximian.com>
341 * ObjectReader.cs (ReadNextObject): Call
342 RaiseDeserializationEvent() on the ObjectManager when we're done
343 reading the whole graph.
345 2003-01-24 Lluis Sanchez Gual <lluis@ideary.com>
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.
353 2003-01-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
355 * ObjectWriter.cs: make the exception message more useful.
357 2003-01-16 Lluis Sanchez Gual <lluis@ideary.com>
359 * BinaryFormatter.cs: implemented Serialize and Deserialize methods.
360 * ObjectReader.cs: added.
361 * ObjectWriter.cs: added.
362 * BinaryCommon.cs. added.
364 2002-08-22 Nick Drochak <ndrochak@gol.com>
366 * BinaryArrayTypeEnum.cs: Removed Non-existent enum (must have been
369 2002-08-18 Dick Porter <dick@ximian.com>
371 * BinaryFormatter.cs: Stubbed out