2008-09-14 Zoltan Varga <vargaz@gmail.com>
[mono.git] / mcs / class / corlib / System.IO / ChangeLog
index ef509bca230a339aaa99f629c975041add8fa1c3..cf0ca1757f665241ac3c6e551b21683a89f80865 100644 (file)
@@ -1,3 +1,341 @@
+2008-08-22  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * FileStream.cs, MonoIO.cs: For Silverlight 2.0 (NET_2_1) we always
+       throw IsolatedStorageException instead of FileNotFoundException and
+       DirectoryNotFoundException.
+
+2008-08-21  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * FileStream.cs: Adjust exception being thrown for Silverlight 2.0.
+       * FileSystemInfo.cs: In Silverlight 2 this type does not inherit from 
+       MarshalByRefObject nor does it implement ISerializable.
+       * Stream.cs: In Silverlight 2 this type does not inherit from 
+       MarshalByRefObject.
+       * TextReader.cs: In Silverlight 2 this type does not inherit from 
+       MarshalByRefObject.
+       * TextWriter.cs: In Silverlight 2 this type does not inherit from 
+       MarshalByRefObject.
+       * UnmanagedMemoryStream.cs: For Silverlight 2 add CLSCompliant(false)
+       to the PositionPointer property.
+
+2008-08-15  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * StreamWriter.cs: Change argument check for buffersize to require
+       positive number. Removed duplicate disposed check for AutoFlush.
+       Removed unnecessary initialization of bools.
+
+2008-08-15  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * StreamWriter.cs: Removed duplicate argument checks from .ctor taking
+       path, as these checks are already done in FileStream .ctor. Removed
+       parameter name from ArgumentException to match MS.
+
+2008-07-28  Marek Safar <marek.safar@gmail.com>
+
+       * File.cs: Delay DateTime .cctor invocation.
+
+2008-07-04  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
+
+       * File.cs: Fix parameter name
+
+2008-07-03  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
+
+       * TextWriter.cs:
+       * StreamWriter.cs:
+       * StreamReader.cs:
+       * Stream.cs:
+       * MemoryStream.cs:
+       * File.cs:
+       * DriveNotFoundException.cs:
+       * Directory.cs: Fix parameter names
+
+2008-06-30  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
+
+       * BinaryReader.cs: Fix parameter names
+       * BinaryWriter.cs: Fix parameter names, fix exceptions
+       * BufferedStream.cs: Fix parameter names
+       * Directory.cs: Fix parameter names, fix exceptions, optimize == "" cases
+       * DirectoryInfo.cs:
+       * DirectoryNotFoundException.cs:
+       * FileNotFoundException.cs:
+       * FileStream.cs: Fix parameter names, fix exceptions
+       * IOException.cs: Fix parameter names
+
+2008-06-21  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * Path.cs: Fixed exception arguments to match MS. Removed obsolete
+       LAMESPEC comment. In GetPathRoot, throw ArgumentException if path
+       is whitespace-only. Throw ArgumentException in HasExtension, if path
+       contains invalid path characters.
+
+2008-05-29  Robert Jordan  <robertj@gmx.net>
+
+       * Path.cs (InsecureGetFullPath): Call CanonicalizePath for
+       UNC paths as well.
+       * Path.cs (GetServerAndShare): New helper method.
+       * Path.cs (SameRoot, CanonicalizePath): Add UNC support.
+       Fixes #394681 and a bunch of TestGetFullPath unit test cases.
+       All changes are Win32 related.
+
+2008-05-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
+
+       * DriveInfo.cs: Fix compiler warning
+
+2008-05-07  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * CheckArgument.cs: Removed. Lots of unused code. The two methods
+       used are now inlined into Path.cs
+       * CheckPermission.cs: Removed. Lots of unused code.
+       * Path.cs: Inlined two checks.
+       [Found using Gendarme]
+
+2008-04-18  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * Path.cs: Change PathSeparatorChars from private to internal since
+       it's needed for IsolatedStorage.
+
+2008-04-17  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * DirectoryInfo.cs: Added new internal ctor, which takes a bool that
+       indicates whether the original path should only container the last
+       part of the directory. Moved logic for determining the Name and
+       Parent to Initialize method, to allow it to be re-used on
+       deserialization. Renamed argument names to fix corcompare issues.
+       Added missing argument checks.
+       * Directory.cs (CreateDirectoriesInternal): Use internal ctor for
+       DirectoryInfo to ensure OriginalPath only contains last part of
+       the directory. 
+       * File.cs: Removed redundant checks from Create. On 2.0 profile, pass
+       FileOptions to FileStream. Removed redundant directory check from
+       Delete and modified exceptions to more closely match MS.
+       * FileInfo.cs: Added argument check to ctor to match MS. Added missing
+       deserialization ctor. Modified argument checks in MoveTo, and removed
+       redundant checks. Added missing argument checks in CopyTo. Code
+       formatting.
+       * FileSystemInfo.cs: Modified argument checks in CheckPath to more
+       closely match MS.
+       * MonoIO.cs: Added msg that does not disclose filename for 
+       ERROR_FILE_EXISTS. 
+       * Path.cs: Use String.Length instead of comparing with String.Empty.
+       Removed exceptions argument names to match MS.
+
+2008-04-16  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * File.cs: Changed argument names and thrown exception to better match
+       .NET. Use String.Length instead of comparison with empty string.
+       * DirectoryInfo.cs: Added missing deserialization ctor.
+
+2008-04-04  Dick Porter  <dick@ximian.com>
+
+       * File.cs: Pretty up the file share exception with the path name.
+
+2008-03-28  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * Directory.cs: Exception differs when deleting a directory if it 
+       does not exists or if a file of the same name exists. Also don't 
+       include path in exception if Delete fails.
+
+2008-03-20  Marek Safar  <marek.safar@gmail.com>
+
+       * Path.cs (Combine): Call ToString to optimize concatenation.
+
+2008-03-02  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * DriveInfo.cs: Removed debug code.
+
+2008-02-15  Miguel de Icaza  <miguel@novell.com>
+
+       * UnmanagedMemoryStream.cs: Implement few missing pieces.
+
+2008-02-10  Zoltan Varga  <vargaz@gmail.com>
+
+       * UnexceptionalStreamReader.cs (Read): Optimize this to avoid making a number of
+       calls + creation of a string for each character read.
+
+2008-02-03  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * MemoryStream.cs: Remove unused code found by Gendarme.
+
+2008-01-16  Zoltan Varga  <vargaz@gmail.com>
+
+       * BinaryReader.cs: Fix ReadCharBytes method to avoid non-linear behavior. 
+       Fixes #352184.
+
+2007-12-28  Zoltan Varga  <vargaz@gmail.com>
+
+       * MemoryStream.cs: Fix crash if internalBuffer is null. Avoid calling
+       unsafe icalls. Fixes #350860.
+
+2007-11-21  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * FileStream.cs : Close() does not exist in 2.0 (Stream does).
+         Move GC.SuppressFinalize() to Dispose(true).
+
+2007-11-12  Juraj Skripsky  <js@hotfeet.ch>
+
+       * Path.cs (GetRandomFileName): Return filenames containing only
+       characters from the range [a..z0..9] as MS.NET does. 
+
+2007-11-02  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * StreamReader.cs : Encoding.GetMaxCharCount() does not always return
+         the maximum max char count for Decoder.GetChars() since it might
+         contain pending buffer by flush. Fixed bug #338370.
+
+2007-11-01  Miguel de Icaza  <miguel@novell.com>
+
+       * Path.cs (GetDirectoryName): The paths returned from this routine
+       should be canonical, not just a substring.   In addition to fixing
+       this, it also fixes #324742.
+
+2007-10-26  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * BinaryReader.cs, BinaryWriter.cs : use unsafe encoding that has ""
+         for replacement fallback. Binary serialization regression is fixed.
+
+2007-09-06  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * Stream.cs, BufferedStream.cs, MemoryStream.cs: in 2.0 override
+         Dispose(bool) rather than Close().
+         Stream.Dispose() is virtual in 2.0.
+
+2007-08-24  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * BinaryReader.cs: Fixed line endings.
+       * FileStream.cs: Rename name argument to path. Spaces to tabs.
+
+2007-08-20  William Holmes  <billholmes54@gmail.com>
+
+       *File.cs:  Add implementation for IO.File.Replace methods.
+       *MonoIO.cs: Declared an internal call for ReplaceFile
+
+       Code is contributed under MIT/X11 license.
+
+2007-07-31  Dick Porter  <dick@ximian.com>
+
+       * MonoIO.cs: Fix formatting of 'access denied' exception when the
+       path info isn't known.  Fixes bug 82141.
+
+2007-07-08  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * Directory.cs: Renamed Move arguments to match MS. Allow Move to be
+       used to move files, patch by Robert Jordan. Fixes bug #81912. Spaces
+       to tabs.
+
+2007-06-21  Dick Porter  <dick@ximian.com>
+
+       * FileStream.cs: Fix FileShare test, fixing better bug 79250.
+
+2007-05-28  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * UnmanagedMemoryStream.cs : added Closed event for sys.Resources use.
+       * IntPtrStream.cs : added internal get_BaseAddress(), for the same.
+
+2007-05-25  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * UnmanagedMemoryStream.cs: In Read and ReadByte, use Marshal.ReadByte
+       to read bytes as this allows us to start reading from the current
+       position. In Read, return 0 when reading beyond the end of the stream
+       and only read bytes until the end of the stream (not capacity).
+       In ReadByte, return -1 when reading beyond the end of the stream.
+       In SetLength: changed argument validation (and reported exceptions) to
+       match MS, removed duplicate access check and changed the current
+       position if length is less than position. In Write: throw
+       NotSupportedException when attempting to write beyond capacity, use
+       Marshal.WriteByte since that allows us to start writing from the
+       current position. Adjust length when position moves beyond length
+       in both Write and WriteByte. Allow position to be moved beyond
+       capacity of stream. Fixed position using Seek (=+ typo). Changed
+       CanRead to ignore current position. Allow Position to be used to move
+       beyond capacity of stream.
+
+2007-05-24  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * UnmanagedMemoryStream.cs: Changed argument names and exceptions 
+       (msg, params) to match MS. Verify access argument in ctor. 
+
+2007-05-23  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * UnmanagedMemoryStream.cs : couple of bugfixes. in Read(), don't
+         return buffer beyond the requested length. Fixed .ctor() for wrong
+         capacity initialization.
+
+2007-05-12  Jonathan Chambers  <joncham@gmail.com>
+
+       * FileStream.cs: Implement SafeHandle constructors.
+
+2007-05-01  Dick Porter  <dick@ximian.com>
+
+       * File.cs:
+       * Stream.cs: Missed a few 2.0 methods
+
+2007-04-30  Dick Porter  <dick@ximian.com>
+
+       * Directory.cs: 
+       * FileShare.cs: 
+       * DirectoryNotFoundException.cs: 
+       * SeekOrigin.cs: 
+       * FileAttributes.cs: 
+       * IOException.cs: 
+       * MemoryStream.cs: 
+       * FileMode.cs: 
+       * BinaryWriter.cs: 
+       * TextWriter.cs: 
+       * File.cs: 
+       * BinaryReader.cs: 
+       * TextReader.cs: 
+       * UnmanagedMemoryStream.cs: 
+       * StringWriter.cs: 
+       * FileAccess.cs: 
+       * FileLoadException.cs: 
+       * BufferedStream.cs: 
+       * Stream.cs: 
+       * FileInfo.cs: 
+       * FileStream.cs:
+       * StringReader.cs: 
+       * StreamWriter.cs: 
+       * EndOfStreamException.cs: 
+       * DriveInfo.cs: 
+       * StreamReader.cs: 
+       * PathTooLongException.cs: 
+       * DriveType.cs: 
+       * FileNotFoundException.cs: 2.0 profile updates
+
+2007-04-21  Alp Toker  <alp@atoker.com>
+
+       * FileStream.cs: Respect request for buffering in all cases.
+
+       Gonzalo added code in r42667 that disables buffering even when it is
+       requested, in the case that ftype != MonoFileType.Disk. This was
+       killing performance for users who do Console.OpenStandardOutput(1024)
+       but were ending up with a non-buffered FileStream.
+
+       The new behaviour appears correct but we should watch for any
+       regressions.
+
+2007-04-05  Dick Porter  <dick@ximian.com>
+
+       * Directory.cs: Pass combined path and pattern to
+       MonoIO.GetFileSystemEntries()
+
+2007-04-03  Alp Toker  <alp@atoker.com>
+
+       * UnmanagedMemoryStream.cs: Should not have a public Dispose().
+       This behaviour is already provided by the base class.
+
+2007-04-03  Alp Toker  <alp@atoker.com>
+
+       * Stream.cs: CreateWaitHandle() obsolete in 2.0.
+
+2007-03-18  Alp Toker  <alp@atoker.com>
+
+       * UnmanagedMemoryStream.cs:
+       * Directory.cs: Exception message typo fixes.
+
+2007-03-11  Zoltan Varga  <vargaz@gmail.com>
+
+       * UnmanagedMemoryStream.cs: Fix a warning.
+
 2007-03-05  Miguel de Icaza  <miguel@novell.com>
 
        * Path.cs: Manually call FileStream and pass the new internal