+2007-10-25 Lluis Sanchez Gual <lluis@novell.com>
+
+ * AppDomain.cs: In DefaultDomain, wrap the returned domain with
+ a proxy if the current domain is not the root domain.
+
+2007-10-24 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Type.cs : implemented ReflectionOnlyGetType().
+
+2007-10-19 Zoltan Varga <vargaz@gmail.com>
+
+ * AppDomain.cs: Add NET 3.5 DefineDynamicAssembly () overloads.
+
+2007-10-13 Zoltan Varga <vargaz@gmail.com>
+
+ * Delegate.cs (CreateDelegate): Allow binding instance methods to
+ delegates with an extra argument, a NET 2.0 feature. Fixes #333647.
+
+Fri Oct 12 08:11:50 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+ * String.cs: reverted unapproved patch that breaks the build.
+
+2007-10-11 Joel Reed <joelwreed@comcast.com>
+
+ * String.cs: fix String.Split(char[],int,StringSplitOptions)
+ with StringSplitOptions.RemoveEmptyEntries option. The correct
+ behavior is to remove empty entries while the string is being split,
+ and always return the maximum number of elements possible.
+ Patch from: Tyler Larson <mono-devel@tlarson.com>
+
+2007-09-28 Jb Evain <jbevain@novell.com>
+
+ * Object.cs: Make ToString return Type.ToString ()
+ by default instead of Type.FullName to match .net
+ behavior. Fix #329419.
+
+2007-09-28 William Holmes <billholmes54@gmail.com>
+
+ * DateTime.cs: Check for AssumeUniversal when parsing string.
+ Fixes bug #324845
+
+2007-09-21 Gert Driesen <drieseng@users.sourceforge.net>
+
+ * Enum.cs: Use regular single quotes in exception message.
+
+2007-09-14 Paolo Molaro <lupus@ximian.com>
+
+ * String.cs: implemented all the string ctors using CreateString
+ methods, so they can run completely in managed code.
+
+2007-09-13 Marek Safar <marek.safar@gmail.com>
+
+ * DateTimeOffset.cs: Implemented few properties.
+
+2007-09-13 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Decimal.cs, Math.cs : implemented midpoint rounding.
+
+2007-09-13 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Activator.cs : implemented 2.0 CreateInstance()
+ and CreateInstanceFrom () overloads.
+
+2007-09-12 Sebastien Pouliot <sebastien@ximian.com>
+
+ * Decimal.cs: More explicit text in exception (old and almost
+ forgetten patch on laptop ;-)
+
+2007-09-10 Atsushi Enomoto <atsushi@ximian.com>
+
+ * OperatingSystem.cs : implemented ISerializable.
+
+2007-08-28 Zoltan Varga <vargaz@gmail.com>
+
+ * DateTime.cs: Fix a warning.
+
+2007-08-25 Robert Jordan <robertj@gmx.net>
+
+ * DateTime.cs: Implement internal To/FromBinary for the 1.1 profile.
+
+2007-08-25 Alan McGovern <amcgovern@novell.com>
+
+ * DateTime.cs: Reverted DateTime changes.
+
+2007-08-25 Robert Jordan <robertj@gmx.net>
+
+ * DateTime.cs: Implement internal To/FromBinary for the 1.1 profile.
+
+2007-08-24 Zoltan Varga <vargaz@gmail.com>
+
+ * Array.cs: Fix min + max / 2 overflows in the BinarySearch and qsort methods.
+ Fixes #82469.
+
+2007-08-23 Marek Safar <marek.safar@gmail.com>
+
+ * DateTimeOffset.cs: New .NET 3.5 struct for 2.0 mscorlib.
+
+2007-08-23 Eyal Alaluf <eyala@mainsoft.com>
+
+ * DateTime.cs: Numerous improvements to DateTime.Parse. It handles a lot
+ more possible formats and more correctly at that. It is also now easier
+ to manage the formats DateTime.Parse supports.
+
+2007-08-17 Zoltan Varga <vargaz@gmail.com>
+
+ * Exception.cs: Make 1.0 and 2.0 object layout the same since this class is seen
+ by the runtime. Fixes #82459.
+
+2007-08-16 Gert Driesen <drieseng@users.sourceforge.net>
+
+ * MonoCustomAttrs.cs: In IsDefined, throw ArgumentNullException if
+ attributeType is null to avoid a SIGSEGV (and match MS). Only partial
+ fix for bug #82431 on 1.0 profile; it fully fixes the problem for the
+ 1.0 profile, but more changes (in the runtime) are required for the
+ 2.0 profile. Added a FIXME explaining the problem.
+
+2007-08-15 Gert Driesen <drieseng@users.sourceforge.net>
+
+ * MonoCustomAttrs.cs: In IsDefined, only walk inheritance chain if
+ both AttributeUsage.Inherited and inherit are true. Fixed bug #82431.
+
+2007-08-13 Gert Driesen <drieseng@users.sourceforge.net>
+
+ * ArgumentException.cs: Ignore zero-length ParamName for Message.
+ Use ParamName property instead of field, since the property is marked
+ virtual.
+ * Array.cs: Provide more meaningful exception message when destination
+ array is not long enough.
+
+2007-08-11 Zoltan Varga <vargaz@gmail.com>
+
+ * Array.cs: Implement InternalArray__set_Item. Fixes #82345.
+
+2007-08-08 Atsushi Enomoto <atsushi@ximian.com>
+
+ * IntPtr.cs : oops, do not ignore format in ToString(string).
+
+2007-08-08 Atsushi Enomoto <atsushi@ximian.com>
+
+ * GC.cs, Exception.cs, IntPtr.cs, Enum.cs, DateTime.cs, Convert.cs
+ ConsoleKeyInfo.cs, String.cs, Object.cs, Attribute.cs,
+ Version.cs : couple of cosmetic 2.0 API fixes.
+
+2007-08-06 Aaron Bockover <abockover@novell.com>
+
+ * Environment.cs (ReadXdgUserDir): Support the changes to the
+ xdg-user-dirs spec that allow $HOME to start the path; also allows
+ for quotes surrounding the path (Patch ported from Banshee,
+ BGO #461596)
+
+2007-07-28 Miguel de Icaza <miguel@novell.com>
+
+ * MulticastDelegate.cs (Equals): do not cast to avoid exceptions,
+ instead use the "as" operator, as pointed out by Jesse Jones'
+ tool.
+
+2007-07-21 Gert Driesen <drieseng@users.sourceforge.net>
+
+ * BitConverter.cs: Fixed exceptions to match MS. Fixed invalid use
+ of ArgumentOutOfRangeException and ArgumentException ctors that take
+ both parameter name and message. In ToString throws ArgumentException
+ instead of ArgumentOutOfRangeException when length is negative, and
+ return zero-length string when length is 0.
+
+2007-07-20 Atsushi Enomoto <atsushi@ximian.com>
+
+ * AppDomainSetup.cs : fix serialization regression.
+
+2007-07-20 Atsushi Enomoto <atsushi@ximian.com>
+
+ * AppDomainSetup.cs :
+ MonoTODO AppDomainInitializer as its implementation is wrong.
+
+2007-07-20 Atsushi Enomoto <atsushi@ximian.com>
+
+ * AppDomainSetup.cs : added missing 2.0 members.
+ * AppDomain.cs : support AppDomainInitializer.
+
+2007-06-06 Miguel de Icaza <miguel@novell.com>
+
+ * Int16.cs, UInt64.cs, SByte.cs, UInt16.cs, Byte.cs, Int32.cs,
+ Int64.cs, UInt32.cs: Fix for 81775.
+
+ I removed Parse from a Byte.cs and UInt16.cs as in various cases
+ they still depended on UInt32.cs for parsing, there is no reason
+ to keep all of this code duplicated (UInt64 is a different case
+ though).
+
+ I was hoping for some feedback on whether my tests are correct,
+ but so far no takers.
+
+2007-07-14 Zoltan Varga <vargaz@gmail.com>
+
+ * ModuleHandle.cs: Implement the generic versions of the ResolveXXXHandle () methods.
+
+ * ModuleHandle.cs: Add stubs for generic ResolveXXXHandle () methods.
+
+2007-07-10 Alan McGovern <amcgovern@novell.com>
+
+ * Guid.cs: All whitespace should be trimmed from before and
+ after a string passed into the Guid constructor. Fixes #81958
+
+2007-07-10 Zoltan Varga <vargaz@gmail.com>
+
+ * RuntimeTypeHandle.cs: Fix signatures of == and != operators.
+
+ * ModuleHandle.cs: Add missing 2.0 stuff.
+
+2007-07-08 Zoltan Varga <vargaz@gmail.com>
+
+ * *.cs: Add missing ComVisible attributes.
+
+ * Delegate.cs: Add missing 2.0 CreateDelegate () methods.
+
+2007-07-07 Gert Driesen <drieseng@users.sourceforge.net>
+
+ * DateTime.cs: In ParseExact, throw ArgumentNullException if format
+ is null; throw FormatException if formats array is empty or if one of
+ items is null or a zero-length string.
+
+2007-07-06 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * Double.cs (Parse): Fix for string ending in garbaga, it was just ignoring it
+ instead of throwing FormatException. Fixes #81777
+
+2007-07-06 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * Double.cs (Parse): Fix for whitespace only strings, it was returning zero
+ instead of throwing FormatException. Fixes #81630
+
+2007-07-06 Alan McGovern <amcgovern@novell.com>
+
+ * DateTime.cs: If the format is null or empty, it should default to 'G'.
+ Fixes bug 81778
+
+2007-07-06 Jonathan Chambers <joncham@gmail.com>
+
+ * __ComObject.cs: Support ExtensibleClassFactory.
+
+
+2007-07-06 Aaron Bockover <abockover@novell.com>
+
+ * Environment.cs (InternalGetFolderPath): Try reading some
+ paths from ~/.config/user-dirs.dirs (XDG user dirs spec);
+ always return something for MyPictures
+
+2007-07-04 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Type.cs : 2.0 TypeHandle and ContainsGenericParameters are virtual
+ (required fix for 2.0 reflection API fixes).
+
+2007-06-22 Jonathan Chambers <joncham@gmail.com>
+
+ * __ComObject.cs: Move interface lookup to unmanaged.
+
+2007-06-21 Zoltan Varga <vargaz@gmail.com>
+
+ * Environment.cs: Bump corlib version.
+
+ * Delegate.cs: Applied patch from Robert Jordan (robertj@gmx.net). Keep
+ the dynamic method referenced by a delegate alive.
+
+2007-06-05 David Ferguson <davecferguson@gmail.com>
+
+ * DateTime.cs: Changed DateTime.Parse() to throw a FormatException
+ instead of an ArgumentOutOfRangeException for .NET 2.0. An
+ ArgumentOutOfRangeException is still thrown for .NET 1.1.
+ Fixes bug #77633
+
+Mon Jun 4 14:52:17 CEST 2007 Paolo Molaro <lupus@ximian.com>
+
+ * String.cs: optimized CompareOrdinal ().
+
+2007-06-02 Zoltan Varga <vargaz@gmail.com>
+
+ * MonoCustomAttrs.cs (GetBase): Revert last change as it breaks the build.
+
+ * MonoCustomAttrs.cs (GetBase): Handle properties correctly. Fixes #81797.
+
+2007-05-31 Zoltan Varga <vargaz@gmail.com>
+
+ * Delegate.cs: Add invoke_impl field. Reorder fields for better cache behavior. Add
+ SetMulticastDelegate icall.
+
+ * MulticastDelegate.cs (CombineImpl): Call SetMulticastDelegate () on newly created
+ delegate.
+
+ * Environment.cs: Bump corlib version.
+
+2007-05-25 Jonathan Chambers <joncham@gmail.com>
+
+ * __ComObject.cs: Add overload to GetInterface to allow
+ not throwing exceptions. Fixes as and is operators for COM objects.
+
+2007-05-23 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Array.cs : reverting Array.cs fixes since the runtime depends on
+ those method attributes.
+
+2007-05-23 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Int16.cs UInt64.cs UIntPtr.cs Double.cs CrossAppDomainDelegate.cs
+ ResolveEventHandler.cs IntPtr.cs UnhandledExceptionEventHandler.cs
+ Void.cs AssemblyLoadEventHandler.cs SByte.cs UInt16.cs DateTime.cs
+ Byte.cs TimeSpan.cs Decimal.cs Int32.cs Delegate.cs
+ AppDomainInitializer.cs MulticastDelegate.cs Int64.cs
+ EventHandler.cs Single.cs UInt32.cs AsyncCallback.cs :
+ cosmetic attribute fixes (ComVisible/Serializable).
+
+2007-05-22 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Convert.cs : completed 2.0 (ToBase64CharArray).
+ * String.cs : removed MonoTODO.
+ * DataMisalignedException.cs : removed extra .ctor().
+ * Array.cs : internalize extra members. Fixed reliability contract.
+
+2007-05-17 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DateTime.cs : added support for 'K'.
+
+2007-05-11 Jonathan Chambers <joncham@gmail.com>
+
+ * __ComObject.cs: No need to call CoInitialize anymore since
+ Thread.ApartmentState was implemented.
+
+2007-05-11 Jeffrey Stedfast <fejj@novell.com>
+
+ Fixes bug #81540
+
+ * TermInfoDriver.cs (WriteSpecialKey): Actually clear the screen
+ and reset the cursor position to 0,0 when the key is
+ ConsoleKey.Clear.
+ (Clear): Reset the cursor position to 0,0
+
+2007-05-09 Marek Safar <marek.safar@gmail.com>
+
+ * MulticastDelegate.cs: Fixed operators logic.
+
+2007-05-09 Marek Habersack <mhabersack@novell.com>
+
+ * DateTime.cs: add a format used in ASP.NET QuickStarts
+ ("HH':'mm tt MM/dd/yyyy")
+
+2007-04-30 Zoltan Varga <vargaz@gmail.com>
+
+ * Type.cs (Equals): Allow a null argument.
+
+2007-04-27 Zoltan Varga <vargaz@gmail.com>
+
+ * Environment.cs (StackTrace): Avoid skipping a frame to be
+ compatible with MS.
+
+2007-04-25 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DateTimeTest.cs : looks like 'F' even removes preceding '.' ...
+
+2007-04-25 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DateTime.cs : implemented new-2.0 'F' pattern letter.
+
+2007-04-24 Jeffrey Stedfast <fejj@novell.com>
+
+ Fixes the last of the bugs listed in bug #77525
+
+ * TermInfoDriver.cs (ctor): For known terminal types, set color16
+ to true (since we know they support 16 colours).
+ (Init): set the setlfgcolor and setlbgcolor format strings.
+ (BackgroundColor): Use the appropriate formatter string for
+ setting the bgcolor.
+ (ForegroundColor): Use the appropriate formatter string for
+ setting the fgcolor.
+ (TranslateColor): Now takes (and sets appropriately) an output
+ 'bool light' argument.
+
+2007-04-24 Marek Habersack <mhabersack@novell.com>
+
+ * TermInfoDriver.cs: don't include debug stuff by default - it
+ breaks multithreaded applications (they all attempt to open
+ console.log and fail because of sharing violation).
+
+2007-04-23 Jeffrey Stedfast <fejj@novell.com>
+
+ * TermInfoDriver.cs (ReadKeyInternal): Since our input stream is
+ buffered, check if it has more buffered input in addition to our
+ timeout check. This makes it such that we will actually correctly
+ match multi-char escape sequences.
+ (Read): Changed the logic slightly wrt 'fresh' echoing. Once we
+ encounter a fresh char, all chars afterward should also be
+ considered 'fresh' even if 'fresh' is returned as false later.
+ (ReadLine): Same logic here.
+
+2007-04-23 Jeffrey Stedfast <fejj@novell.com>
+
+ Fixes bug #80702 (via getting rid of the casting) and more.
+
+ The following change makes it such that even if an application
+ calls Console.SetOut() with its own output stream, we can still
+ properly echo user-input from stdin to the real stdout.
+
+ * TermInfoDriver.cs (ctor): Grab a reference to the original
+ Console.stdout so we can be sure we always echo to console.
+ (QueueEcho): No need to cast Console.stdout anymore.
+ (EchoFlush): Same.
+ (WriteConsole: Here too.
+
+2007-04-20 Jeffrey Stedfast <fejj@novell.com>
+
+ * TermInfoDriver.cs (QueueEcho): Renamed from Echo(char). Use
+ CStreamWriter's new InternalWriteChars().
+ (Echo): Since we can no longer go thru CStreamWriter's ::Write()
+ method that does checks for special keys, do the checks here
+ instead - if it is a special key, flush the echo buffer and then
+ write the special key.
+ (EchoFlush): Also updated to use CStreamWriter's new
+ InternalWriteChars().
+ (Read): Use the Echo(key) variety.
+ (ReadKey): Same.
+ (ReadLine): And here too.
+
+ * CStreamWriter.cs (InternalWriteChars): Write a char array
+ directly to stdout. Do not pass Go, do not collect $200.
+
+2007-04-19 Jeffrey Stedfast <fejj@novell.com>
+
+ Optimization for echoing keypresses back to the console when the
+ user pastes a block of text rather than manually typing text.
+
+ * TermInfoDriver.cs (Echo): A new convenience function for echoing
+ characters/keys back to the console with an optimization twist and
+ a bit of lime.
+ (EchoFlush): Flush our pending echo queue
+ (Read): Make use of Echo() both for convenience and for speed.
+ (ReadLine): Same.
+ (ReadKey): Make use of Echo()/EchoFlush() for simplicity of code,
+ but we won't get the same optimization out of it.
+
+2007-04-19 Jeffrey Stedfast <fejj@novell.com>
+
+ Fix for bug #81373.
+
+ * TermInfoDriver.cs: Changed 'buffer' to be a char array instead
+ of a byte array and stdin is now a StreamReader rather than a
+ Stream.
+ (Init): Setup stdin as a StreamReader using Console.InputEncoding
+ as our encoding.
+ (GetCursorPosition): Use stdin.Read() instead of the old
+ ReadByte() code.
+ (AddToBuffer): Updated to allocate the correct array type for
+ 'buffer'.
+ (ReadKeyInternal): Updated to use stdin.Read() rather than
+ stdin.ReadByte(). This is the main reason we needed to use chars
+ instead of bytes. Characters entered by the user need to be
+ represented as unicode chars and not bytes like before.
+ (Match): Now takes a char[] buffer argument instad of byte[] and
+ compares the input buffer to the byte-map as chars.
+
+2007-04-18 Jeffrey Stedfast <fejj@novell.com>
+
+ Fixes bug #81159: behave the same as mscorlib
+
+ * TermInfoDriver.cs (ReadKeyInternal): Now has an 'out bool fresh'
+ argument which is used to tell our caller if the key was freshly
+ read from the console or pre-buffered.
+ (Read): New implementation of Console.In.Read(char[], int, int)
+ that behaves exactly like mscorlib's implementation.
+ (ReadKey): Updated for the ReadKeyInternal() API change - only
+ echo if the key was fresh.
+ (ReadLine): Same.
+
+ * CStreamReader.cs (Read): Call the new TermInfoDriver.Read()
+
+2007-04-17 Jeffrey Stedfast <fejj@novell.com>
+
+ * CStreamWriter.cs (Write): Optimized this some more, we don't
+ need a temporary buffer. Just blit chunks of the src buffer
+ instead.
+
+ * CStreamReader.cs (Read): Need to increment our array index so
+ that we don't store each byte read into the same
+ position. Discovered this while testing bug #81159 (which appears
+ to work as expected with current svn, other than this buglet).
+
+ * TermInfoDriver.cs (CursorTop::set): SetCursorPosition() sets our
+ internal cursorTop variable, so no need to explicitly set it again
+ after calling SetCursorPosition().
+ (CursorLeft::set): Same idea here.
+
+2007-04-17 Jeffrey Stedfast <fejj@novell.com>
+
+ * TermInfoDriver.cs (ReadLine): Implemented a workaround for
+ IronPython going behind System.Console's back when writing text to
+ the screen (it doesn't seem to use Console.stdout, instead it
+ creates its own file stream or something which just so happens to
+ write to the same file descriptor) by querying for the cursor
+ position in ReadLine(), so we lose no real performance (since we
+ have to wait for user input anyway).
+
+2007-04-17 Jeffrey Stedfast <fejj@novell.com>
+
+ * TermInfoDriver.cs (Init): SetEcho(false), we'll be manually
+ echoing from now on (ReadLine() has already been doing this, might
+ as well make ReadKey() behave the same).
+ (GetCursorPosition): No longer need to disable/re-enable echo
+ anymore since it is now always false.
+ (ReadKey): Manually echo the key back to the console just like
+ ReadLine() has been doing (in the interest of consistancy) if
+ intercept is false.
+ (ReadLine): No longer need to disable/re-enable echo, echo is
+ always off now. Also, fixed what appears to have been a typo.
+
+2007-04-17 Jeffrey Stedfast <fejj@novell.com>
+
+ * TermInfoDriver.cs (IsSpecialKey): Oops, Enter should not be
+ treated as a special key. Just update out cursor state here like
+ we do with normal chars.
+ (WriteSpecialKey): Enter is a no-op now because it is not treated
+ as a special key anymore.
+
+ * CStreamWriter.cs (Write): Only flush our buffer if j > 0
+
+2007-04-17 Jeffrey Stedfast <fejj@gnome.org>
+
+ Turns out my last patch was broken wrt handling some special keys
+ like Backspace and anything else that changed the cursor position
+ in some non-standard way.
+
+ * CStreamWriter.cs (Write): Instead of calling NotifyWrite(), we
+ instead need to check IsSpecialKey(), and, if so, flush whatever
+ we have saved in our temporary buffer and then call
+ WriteSpecialKey(). Otherwise go on as we did in the last patch.
+
+ * TermInfoDriver.cs (NotifyWrite): Broken up into 2 functions:
+ (IsSpecialKey): Returns true if we need to do some special voodoo
+ for this key
+ (WriteSpecialKey): Write the special key (using whatever voodoo
+ necessary)
+
+2007-04-16 Jeffrey Stedfast <fejj@gnome.org>
+
+ * CStreamWriter.cs (Write): Instead of writing 1 char at a time,
+ copy the bytes into a temporary char array (with a fixed max size)
+ so that we can minimize the number of Write() calls we make on the
+ underlying stream (and thus on the write() system call).
+
+2007-04-17 Alp Toker <alp@atoker.com>
+
+ * Array.cs: Make GetRank() icall private. Subclasses should use the
+ public Rank property.
+
2007-04-16 Jeffrey Stedfast <fejj@novell.com>
* WindowsConsoleDriver.cs: Get rid of unused Echo property.