Merge pull request #656 from LogosBible/collection_lock
[mono.git] / mcs / class / corlib / System / ChangeLog
index 818a32a915175beff258815924fc8e5bf9115a6d..be02e0743ab07038577df7229d90569ba40cd378 100644 (file)
@@ -1,3 +1,311 @@
+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