+2010-07-21 Miguel de Icaza <miguel@novell.com>
+
+ * Array.cs: Fixes a couple of other cases where we were missing
+ the handling for null values, fixes a broken case of null
+ handling.
+
+2010-07-21 Jb Evain <jbevain@novell.com>
+
+ * AppDomain.cs: add IsFullyTrusted stub.
+
+2010-07-20 Miguel de Icaza <miguel@novell.com>
+
+ * Array.cs: fast path for the case where the pivot is null;
+ Fixes the crash on the build.
+
+2010-07-17 Miguel de Icaza <miguel@novell.com>
+
+ * Array.cs: Fix for bug #622101, this reverts portions of the
+ broken patch that was introduced as part of the fix for #351638
+ which was mostly a set of optimizations, but some were just
+ wrong.
+
+2010-07-14 Miguel de Icaza <miguel@novell.com>
+
+ * DateTime.cs: This is the Retina Display of DateTime structs.
+ Unlike our previous Chubby DateTime that took 16 bytes of memory,
+ this slim version of DateTime only uses 8 bytes.
+
+ This fixes a couple of bugs 592221 and 622127. Additionally, it
+ turns out that the original Microsoft documentation did not spell
+ this out, but newer versions of the docs state that SetConstant on
+ a FieldBuilder should be capable of serializing DateTimes (which
+ is where this issue came from).
+
+ This is necessary to fix two crashers exposed by the CLR test
+ suite.
+
+2010-07-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * DateTime.cs: allow between 1 and 7 digits after the dot.
+ Fixes bug #594559.
+
+2010-07-05 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * TimeSpan.cs: two consecutive colons produce an error now.
+ Fixes bug #598467.
+
+2010-06-29 Sebastien Pouliot <sebastien@ximian.com>
+
+ * Attribute.cs: Fix GetHashCode to match MS behavior (needed for
+ Moonlight)
+
+2010-06-25 Zoltan Varga <vargaz@gmail.com>
+
+ * Array.cs (SortImpl): Fix the 'fast path' which used 'as' to cast objects so
+ it never sorted the items array if it was not a object[]. Fixes #616416.
+
+2010-06-22 Jb Evain <jbevain@novell.com>
+
+ * Guid.cs: properly throw if the parsed guid has more data after
+ parsing a correct guid. Fixes #616050.
+
+2010-06-21 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * Environment.cs: bump up corlib version.
+
+2010-06-21 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * Type.cs (StructLayoutAttribute): This raises on v4.
+
+ * MonoType.cs (StructLayoutAttribute): Implement this
+ under v4.
+
+2010-06-21 Jb Evain <jbevain@novell.com>
+
+ * TimeSpan.cs: add the net_4_0 parsing code in Moonlight.
+
+2010-06-21 Jb Evain <jbevain@novell.com>
+
+ * Guid.cs: bring Parse/ParseExact/TryParse/TryParseExact in
+ Moonlight as well.
+
+2010-06-21 Jb Evain <jbevain@novell.com>
+
+ * TypeAccessException.cs: TypeAccessException is part of moonlight 4.
+
+2010-06-21 Jb Evain <jbevain@novell.com>
+
+ * Version.cs: bring Parse/TypeParse in for moonlight.
+
+2010-06-21 Jb Evain <jbevain@novell.com>
+
+ * Array.cs: implement IStructuralComparable and IStructuralEquatable
+ on moonlight as well.
+
+2010-06-16 Miguel de Icaza <miguel@novell.com>
+
+ * Random.cs: Do not call Math.Abs blindly when we get an int
+ value, as Math.Abs (Int32.MinValue) throws an overflow exception,
+ and our constructor uses Environment.TickCount which means that
+ eventually we will get a crash.
+
+ Fixes #605797
+
+2010-06-15 Jonathan Pryor <jpryor@novell.com>
+
+ * Convert.cs: Instead of manually checking for NaN, Infinity, etc.,
+ use `checked` expressions to generate OverflowExceptions. Ensure
+ that OverflowExceptions are generated for needed types. Fixes #596339
+
+2010-06-08 Jonathan Pryor <jpryor@novell.com>
+
+ * String.cs: Fix String.Split(String[],int,StringSplitOptions) so that:
+ - it properly obeys the 'count' parameter; Fixes #601772.
+ - "...".Split(new[]{"."}, 2, StringSplitOptions.RemoveEmptyEntries).Length==0
+ - "A..".Split (new String[] { "." }, 2, StringSplitOptions.RemoveEmptyEntries) == new[]{"A"}
+ - Remove duplicative array handling code by using List<String>.
+
+2010-06-04 Damien Diederen <dd@crosstwine.com>
+
+ * Char.cs (GetUnicodeCategory): Handle astral planes
+ in (string,int) overload.
+
+ If the string element at index starts a surrogate pair, we decode
+ the full codepoint and "query" the higher planes of the database.
+
+ This commit fixes bug 480178.
+
+ CAUTION: This commit depends on the following runtime change:
+
+ System.Char icall: New Unicode category tables compatible with
+ MS .NET.
+
+ Without it, Mono will suffer a low-level (internal call) crash
+ when initializing System.Char.
+
+ COMPATIBILITY
+
+ The updated Mono runtime as been verified to produce the same
+ results as Microsoft's; here are the MD5 sums of their Unicode
+ category database dumps (generated via create-category-table
+ --dump, compiled and executed under the relevant runtime):
+
+ eba45e00acdc82f9a08873465110aef4 v2.0.50727.dump
+ eba45e00acdc82f9a08873465110aef4 v3.5.21022.dump
+ 56fd5c828fbb9083693835680667fd2c v4.0.30319.dump
+
+ eba45e00acdc82f9a08873465110aef4 gmcs.dump
+ 56fd5c828fbb9083693835680667fd2c dmcs.dump
+
+ These results will naturally differ if support for .NET v4 or
+ astral planes is disabled when building the runtime. Note, also,
+ that these are different from the results produced by Mono prior
+ to the introduction of these changes, even for the BMP.
+
+ Other versions of the internal database can be easily generated
+ using create-category-table(.cs), but this currently requires a
+ rebuild.
+
+ PERFORMANCE
+
+ Direct array indexing is mandatory for code points in the
+ U+0000..U+FFFF range; as pointed out by Andreas Nahr, performing
+ bi-level lookups in the Char.Is*(char) predicates cause the JIT to
+ stop inlining them and results in an important performance drop.
+
+ The simple data access pattern used for higher planes, suggested
+ by Paolo Molaro, is fairly efficient but currenly only used by
+ this non-optimized method.
+
+2010-06-04 Jb Evain <jbevain@novell.com>
+
+ * Exception.cs: add stub for SerializeObjectState.
+
+2010-06-03 Jb Evain <jbevain@novell.com>
+
+ * AppDomain.cs: add net_4_0's PermissionSet property.
+
+2010-05-31 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * Lazy.cs: Remove some stupid leftover from previous changes.
+
+2010-05-27 Jb Evain <jbevain@novell.com>
+
+ * AppDomain.cs (DefineDynamicAssembly): add new net_4_0 overloads.
+
+2010-05-17 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Enum.cs : TryParse() should raise ArgumentException when the
+ type parameter is not an enum. Fixed bug #604134
+
+2010-05-11 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * GC.cs: Add EPHEMERON_TOMBSTONE reandonly variable.
+
+2010-05-06 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * GC.cs: Add new register_ephemeron_array icall.
+
+2010-04-25 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * TimeSpan.cs: Support custom formats in ToString().
+
+2010-04-23 Rolf Bjarne Kvinge <RKvinge@novell.com>
+
+ * Lazy.cs: Include in Moonlight build.
+
+2010-04-22 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * TimeSpan.cs: The final 4.0 release removed the restriction of
+ preceding zeroes when parsing, and it also added 't' and 'T' as valid
+ formats equivalent to 'c' (default).
+
+2010-04-16 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * MonoType.cs (GetInterface): Compare against the name
+ of the generic type definition.
+
+ Fixes #484246.
+
+2010-04-16 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * MonoCustomAttrs.cs (GetBasePropertyDefinition): Use
+ GetBaseMethod instead of GetMethodDefinition otherwise
+ we skip intermediate overloads.
+
+ Fixes #499569.
+
+2010-04-16 Sebastien Pouliot <sebastien@ximian.com>
+
+ * Environment.cs: Ensure elevated trust when calling
+ GetFolderPath on Moonlight
+
+2010-04-16 Sebastien Pouliot <sebastien@ximian.com>
+
+ * Action.cs: SL4 moved some Action in mscorlib
+ * Funcs.cs: SL4 moved some Func<> in mscorlib
+ * String.cs: Make IsNullOrWhiteSpace available, internally,
+ before NET_4_0 (or SL4) since it's proving useful.
+
+2010-04-15 Jb Evain <jbevain@novell.com>
+
+ * Guid.cs: rework the Guid parser to implement the net_4_0
+ [Try]ParseExact methods.
+
+2010-04-15 Jérémie Laval <jeremie.laval@gmail.com>
+
+ * Tuple.cs:
+ * Tuples.cs: Add BOOTSTRAP_NET_4_0 define
+
+2010-04-13 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * MonoCustomAttrs.cs: Raise an exception if the runtime
+ returned a null cattr.
+
+2010-04-13 Zoltan Varga <vargaz@gmail.com>
+
+ * Convert.cs (ToInt32): Do a checked cast. Fixes #596339.
+
+2010-04-12 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * TimeSpan.cs: Implement support for custom formats parsing. This
+ should as well include the bits required to easily implement the same
+ for ToString methods, when the final release fixes the mess we found
+ in the latest beta.
+
+2010-04-08 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * Type.cs: Add ResolveInternal virtual call that
+ resolves a given type to it's concrete type.
+
+2010-03-07 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * Enum.cs (GetInfo): Don't use isinst tests as they can
+ return true for both signed and unsigned version of a
+ primitive type.
+
+ * Enum.cs (FindPosition): Ditto.
+
+2010-04-06 Marek Safar <marek.safar@gmail.com>
+
+ * Array.cs: Don't make read-only collection read-only.
+
+2010-03-31 Miguel de Icaza <miguel@novell.com>
+
+ * UInt32.cs, Int64.cs, UInt64.cs: cope with the case that the
+ IFormatProvider is not a NumberFormatInfo, preventing a crash.
+ This was already handled by Int32.cs, but these other routines
+ were never properly updated.
+
+ Fixes #588356
+
+ * DateTimeOffset.cs: Add support for format K in DateTimeOffset,
+ fixes bug 589227.
+
+ * DateTime.cs: Add serialization support, fixes #588198.
+
+ Perhaps we should change the format as well since this is the new
+ format serialized anyways (see bug 592221, it saves 4 bytes of
+ memory as well)
+
+2010-03-30 Sebastien Pouliot <sebastien@ximian.com>
+
+ * InvalidTimeZoneException.cs
+ * TimeZoneNotFoundException.cs:
+ Fix Moonlight since these types now reside in mscorlib
+ (instead of System.Core) for NET_4_0 and also for SL4
+
+2010-03-30 Jb Evain <jbevain@novell.com>
+
+ * MonoType.cs: let the binder reorder arguments when invoking
+ params methods.
+ * Activator.cs (CreateInstance): use BindToMethod instead of
+ SelectMethod to make sure that params constructors are properly called.
+
+ Fixes #591877
+
+2010-03-29 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * TimeSpan.cs: Implement all the overloads of both TryParseExact and
+ ParseExact methods, by detecting the specific semantic changes in the
+ parse process, so we can properly re-utilize our new approach. This
+ included indicating our parser its culture sensitiveness, usage of colon as
+ day separator fallback or as a precise separator, and other minor bits.
+ We are only missing composite parsing right now.
+
+2010-03-29 Sebastien Pouliot <sebastien@ximian.com>
+
+ * AppDomainSetup.cs: Add new (FX4 and SL4) SetCompatibilitySwitches
+ method (empty is good enough for moonlight testing)
+ * Environment.cs: Expose MyVideos in Moonlight build
+
+2010-03-26 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * TimeSpan.cs: We always give higher precedence to the first found
+ error, but for versions before 4.0 we need to give a higher one to
+ per-element overflow *specifically* (as opposed to int32 overflow,
+ which remains the same). This is not needed for 4.0, so report
+ per-element overflow as a normal error.
+ This should fix a compatibility case, as well as simplifying the code.
+
+2010-03-25 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * MonoAsyncCall.cs: remove unused field.
+ * Delegate.cs: add new IsTransparentProxy property.
+ * MulticastDelegate.cs: add new HasSingleTarget property.
+ * Environment.cs: bump up corlib version.
+
+2010-03-25 Sebastien Pouliot <sebastien@ximian.com>
+
+ * AppDomain.cs: Add new properties that are in both FX4 and SL4
+ since Moonlight needs them (for testing purpose).
+ * Environment.cs: FailFast overloads are present in SL4 (and also
+ needed for testing Moonlight)
+
+2010-03-24 Sebastien Pouliot <sebastien@ximian.com>
+
+ * AppDomain.cs: Change default value from null to false for new
+ (NET_4_0 and SL4) IsCompatibilitySwitchSet. Not sure when (or even
+ if) it can return null (at least not when testing SL4 RC).
+ Fix DRT198
+
+2010-03-22 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * TimeSpan.cs: When parsing ticks, we used to only parse
+ the first 7 digits, and more than that would cause a FormatException -
+ starting in 4.0 we need to throw an OverflowException, however. Also,
+ for hours/minutes/seconds, two or more preceding zeroes will cause an
+ OverflowException as well.
+
+2010-03-22 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * TimeSpan.cs: Create a new Parser.Execute method for 4.0 -and use the
+ previous impl for 2.0-, to handle the new semantics gracefully -
+ specifically the new 'dd:hh:mm:ss' format and related bits, instead of
+ of a ton of #ifdef blocks. Remove any 4.0 bits from the previous
+ version as well, to keep it clean.
+
+2010-03-19 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * TimeSpan.cs: Move the error detection code to a separate method.
+ This way depending on the version we decide what error takes
+ precedence: OverlowException in 2.0, and FormatException in 4.0. This
+ also lets us keep the Execute() code cleaner and easier to understand.
+
+2010-03-18 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * TimeSpan.cs: Put the error info in a single field, to make it easier
+ to preserve the very first error we get while parsing, and discard the
+ next ones. This will help us in a pair of cases where we were
+ overriding the previous error and reporting the wrong exception.
+
+2010-03-17 Sebastien Pouliot <sebastien@ximian.com>
+
+ * String.cs: SL4 includes new IsNullOrWhiteSpace and Concat/Join
+ overloads.
+
+2010-03-17 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * TimeSpan.cs: TimeSpan is actually implementing IFormattable.
+
+2010-03-17 Rolf Bjarne Kvinge <RKvinge@novell.com>
+
+ * AppDomain.cs: Added MonoTODO for IsCompatibilitySwitchSet.
+
+2010-03-16 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * TimeSpan.cs: In 4.0 the Parse/TryParse methods always try to use its
+ associated CultureInfo.NumberFormat.NumberDecimalSeparator value, as well as
+ providing backwards compatibility by also supporting '.' as the
+ separator.
+
+2010-03-16 Jb Evain <jbevain@novell.com>
+
+ * AppDomainSetup.cs
+ * Tuple.cs
+ * ChangeLog
+ * Exception.cs
+ * String.cs
+ * Console.cs
+ * Tuples.cs
+ * Activator.cs
+ * AppDomain.cs:
+ Use MOONLIGHT symbol to disambiguate MonoTouch and Moonlight code.
+
+2010-03-16 Rolf Bjarne Kvinge <RKvinge@novell.com>
+
+ * Enum.cs: Added a few 4.0 api to Moonlight.
+
+2010-03-16 Rolf Bjarne Kvinge <RKvinge@novell.com>
+
+ * AppDomain.cs: Added IsCompatibilitySwitchSet for .NET 4.0 and Moonlight.
+
+2010-03-15 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * TimeSpan.cs: In 4.0 if the part parsed as days exceeds the allowed
+ range -this is, 23-, then it is processed as days instead - opposed to
+ 2.0, where we are throwing an OverflowException.
+
+2010-03-15 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * TimeSpan.cs: Make the colon parsing optional -and adjust the name to
+ reflect it-, so we can properly parse the case where we only have the
+ hours and minutes. This subtle bug was hidden before, since a string
+ such "10:12" would be parsed correctly, but "10:12 " (trailing white
+ space) was getting a FormatException.
+