New test.
[mono.git] / mcs / class / corlib / System.Text / ChangeLog
index fc05c491023eb3cc44450fb1beb83e6f30d39773..039e55abf2da5213fb8d1987b3b7579125f48cb6 100644 (file)
@@ -1,3 +1,303 @@
+2006-10-25  Ben Maurer  <bmaurer@andrew.cmu.edu>
+
+       * Encoding.cs: Make the GetByteCcount method used fixed pointers
+       removes quite a few allocations from Banshee.
+
+2006-09-03  Zoltan Varga  <vargaz@gmail.com>
+
+       * StringBuilder.cs (.ctor): Add a comment.
+
+2006-08-24  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * Encoding.cs :
+         Consider DecoderFallback and EncoderFallback in 2.0 Equals()
+         and GetHashCode().
+       * UTF32Encoding.cs, UTF7Encoding.cs :
+         Fixed GetHashCode() and Equals() as well.
+         Added several missing overrides in 2.0.
+
+2006-08-24  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * Encoding.cs : implemented IsAlwaysNormalized().
+       * Latin1Encoding.cs : IsAlwaysNormalized() does not return false
+         for FormC.
+
+2006-07-18  Kornél Pál  <kornelpal@gmail.com>
+
+       * ASCIIEncoding.cs: Fixed GetString () methods to use ASCII rather
+         than new string (sbyte*, int, int) that uses Encoding.Default.
+       * Latin1Encoding.cs: Fixed GetString () methods to use Latin 1 rather
+         than new string (sbyte*, int, int) that uses Encoding.Default.
+
+2006-07-11  Kornél Pál  <kornelpal@gmail.com>
+
+       * StringBuilder.cs: Pad the string with NULL characters when setting
+       Length. This is now documented:
+       http://msdn2.microsoft.com/en-us/library/system.text.stringbuilder.length.aspx
+
+2006-07-06  Kornél Pál  <kornelpal@gmail.com>
+
+       * CodePageEncoding.cs: Corrected comments.
+       * MLangCodePageEncoding.cs: Corrected comments. Removed unnesessary
+         ArgumentExceptions in private constructors.
+       * SurrogateEncoder.cs: Corrected comments.
+
+2006-07-05  Kornél Pál  <kornelpal@gmail.com>
+
+       * CodePageEncoding.cs: Return the same real object in subsequent
+         calls to GetRealObject ().
+       * MLangCodePageEncoding.cs: Return the same real object in
+         subsequent calls to GetRealObject (). Rename Encoder and Decoder
+         MLangEncoder and MLangDecoder. These classes are not serializable
+         in 1.x although MS.NET 2.0 can deserialize them.
+       * SurrogateEncoder.cs: Return the same real object in subsequent
+         calls to GetRealObject ().
+
+2006-07-04  Kornél Pál  <kornelpal@gmail.com>
+
+       * CodePageEncoding.cs: Added comment on usage.
+       * MLangCodePageEncoding.cs: Added comment on usage.
+       * SurrogateEncoder.cs: Added comment on usage.
+
+2006-07-03  Kornél Pál  <kornelpal@gmail.com>
+
+       * CodePageEncoding.cs: Added.
+       * MLangCodePageEncoding.cs: Added.
+       * SurrogateEncoder.cs: Added.
+
+2006-06-27  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * EncodingInfo.cs : EncodingName is WebName, not EncodingName.
+
+2006-06-24  Kornél Pál  <kornelpal@gmail.com>
+
+       * UnicodeEncoding.cs: Don't detect byte order. Only readers like
+         StreamReader should detect byte order marks.
+
+2006-06-21  Kornél Pál  <kornelpal@gmail.com>
+
+       * Encoding.cs: Return big-endian UTF-32 in GetEncodings () and
+         GetEncoding (int)
+
+2006-06-06  Kornél Pál  <kornelpal@gmail.com>
+
+       * UnicodeEncoding.cs: Override GetString (byte [], int, int) in
+         profile 1.x as well because performance improvement is worth the
+         signature difference. (Fix regression of r61250.)
+
+2006-05-30  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ASCIIEncoding.cs: Marked class ComVisible (true) on 2.0 profile.
+       Marked 2.0-only members as ComVisible (false).
+       * Decoder.cs: Marked class ComVisible (true) on 2.0 profile. Marked
+       2.0-only members as ComVisible (false).
+       * Encoder.cs: Marked class ComVisible (true) on 2.0 profile. Marked
+       2.0-only members as ComVisible (false).
+       * Encoding.cs: Marked class ComVisible (true) on 2.0 profile. Marked
+       2.0-only members as ComVisible (false).
+       * NormalizationForm.cs: Marked ComVisible (true).
+       * StringBuilder.cs: Marked class ComVisible (true) on 2.0 profile. 
+       Marked 2.0-only methods as ComVisible (false).
+       * UnicodeEncoding.cs: GetString (byte[], int, int) is only available
+       in 2.0 profile. Marked 2.0-only methods ComVisible (false). Added
+       missing ctor in 2.0 profile, and marked in MonoTODO.
+       * UTF7Encoding.cs: Marked class ComVisible (true) on 2.0 profile.
+       * UTF8Encoding.cs: Marked 2.0-only methods as ComVisible (false).
+
+2006-05-25  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * EncodingInfo.cs, Encoding.cs :
+         Implemented Encoding.GetEncodings(). It's so hacky!
+
+2006-04-13  Kornél Pál  <kornelpal@gmail.com>
+
+       * Encoding.cs: GetString (byte []): Wrap GetString (byte [], int, int)
+         as MS.NET does. This is a more reasonable high level wrapper
+         implementation.
+       * UnicodeEncoding.cs: GetBytes (string): Implement as a wrapper
+         instead of using GetBytesInternal to be MS.NET compatible.
+         Override GetString (byte [], int, int) to speed up string creation.
+
+2006-04-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * ASCIIEncoding.cs : 2.0 decoder fallback support was missing.
+
+2006-03-30  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * Encoder.cs, Decoder.cs : implemented Convert(). Also added argument
+         check in some methods.
+
+2006-03-30  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * ASCIIEncoding.cs : added overriden methods in NET_2_0 (maybe
+         there are optimizations, but for now we need something just works).
+
+2006-03-24  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * UTF8Encoding.cs : made internal implementation as pointer-based,
+         and added pointer-based converter method overloads.
+
+2006-03-21  Kornél Pál  <kornelpal@gmail.com>
+
+       * UnicodeEncoding.cs: Use unsafe code for copying characters to speed
+         up conversion.
+
+2006-03-09  Zoltan Varga  <vargaz@gmail.com>
+
+       * Encoding.cs: Add stub for net 2.0 GetEncodings () method.
+
+2006-02-14  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * UTF8Encoding.cs : Fallback was indicating incorrect index.
+         Fixed bug #77550.
+
+2006-02-10  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * ASCIIEncoding.cs : (GetChars) reduced either one store or one jump
+         in IL. 10% performance improvement.
+
+2006-02-03  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * UTF8Encoding.cs : avoid possible overflow.
+
+2006-02-03  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * UTF8Encoding.cs : In zero-charbuffer case, byte buffer count should
+         be checked. Also it should not ignore leftOver characters even if
+         byte buffer length is 0.
+
+2006-02-03  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * UTF8Encoding.cs : Fast path optimization for InternalGetByteCount()
+         and InternalGetBytes().
+
+2006-02-03  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * UTF8Encoding.cs :
+         actually leftover bits needs more careful handleding. So it's
+         better to be rather close to the original GetBytes().
+         Also changed leftOver handling so that it will be able to support
+         fallback.
+
+2006-02-03  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * UTF8Encoding.cs :
+         GetBytes(string, ...) could reuse InternalGetBytes() using fixed
+         pointers. However, InternalGetBytes() was slower than
+         GetBytes(string, ...), so first replaced existing InternalGetBytes()
+         with GetBytes() internals, and GetBytes(string, ...) switched to 
+         InternalGetBytes(). Now GetBytes() implementation code is reduced
+         to one method.
+
+2006-02-02  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * UTF8Encoding.cs : fast path optimization was pretty insufficient.
+         Now it handles the entire bytes, not just half of them.
+
+2006-02-02  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * UTF8Encoding.cs : zero-length check was wrong. Check it by
+         "charIndex == chars.Length" instead of "charCount == 0".
+
+2006-02-02  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * UTF8Encoding.cs : switched GetBytes() to pointer-based code.
+         Implemented 2.0 pointer-based GetBytes(). 10% perf. improvement.
+
+2006-01-30  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * UTF8Encoding.cs : InternalGetCharCount() optimization again, and
+         this time InternalGetChars() as well.
+
+2006-01-24  Mike Glenn <mglenn@zoominternet.net>
+
+       * StringBuilder.cs: Avoid computing computation for the string
+       length twice.
+
+2006-01-24  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * UTF8Encoding.cs : reverted the previous change. Looks like it broke
+         the build.
+
+2006-01-24  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * UTF8Encoding.cs : InternalGetCharCount() optimization: fast path
+         for ASCII range.
+
+2006-01-24  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * UTF7Encoding.cs UTF8Encoding.cs :
+         Fixed bug #77315 (Patch by pawel.sakowski@mind-breeze.com).
+         Make strict check for invalid surrogate.
+
+2006-01-23  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * EncoderFallbackException.cs EncoderExceptionFallback.cs
+         DecoderFallbackBuffer.cs EncoderReplacementFallback.cs
+         EncoderFallbackBuffer.cs DecoderExceptionFallbackBuffer.cs
+         EncoderFallback.cs DecoderReplacementFallbackBuffer.cs
+         DecoderFallbackException.cs DecoderExceptionFallback.cs
+         DecoderReplacementFallback.cs EncoderExceptionFallbackBuffer.cs
+         EncoderReplacementFallbackBuffer.cs :
+         include them in net_2_0bootstrap build.
+
+2006-01-20  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * Decoder.cs : ditto.
+
+2006-01-20  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * Encoder.cs : Fallback should be initialized to have an instance.
+
+2006-01-20  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * Encoding.cs : Cloned instances should not be read-only.
+
+2005-12-08  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * UTF8Encoding.cs : (GetChars) let ABCREM work effectively.
+
+2005-12-08  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * Encoding.cs : now under 2.0 GetBytes(string,...) dispatches to
+         byte*-based GetBytes().
+       * UTF8Encoding.cs : avoid extraneous DecoderFallbackBuffer creation
+         which came to happen after introducing fallback buffer.
+
+2005-11-28  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * Encoding.cs, ASCIIEncoding.cs, Latin1Encoding.cs :
+         Added IsSingleByte.
+
+2005-11-28  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * Encoder.cs : added new GetByteCount()/GetBytes() overloads.
+         Added FallbackBuffer.
+       * Decoder.cs : added new GetCharCount()/GetChars() overloads.
+
+2005-11-28  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * EncodingInfo.cs : new file.
+
+2005-11-28  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * UTF32Encoding.cs : Sealed. Added the overload which has
+         throwOnInvalid parameter.
+       * NormalizationForm.cs : removed [Serializable].
+
+2005-11-28  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * Encoding.cs : added UTF32.
+
+2005-11-28  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * UTF32Encoding.cs : surrogate pairs vanished in GetBytes() when the 
+         endianness is big.
+
+2005-11-28  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * UTF32Encoding.cs : new file.
+
 2005-11-22  Atsushi Enomoto  <atsushi@ximian.com>
 
        * ASCIIEncoding.cs, Latin1Encoding.cs : added EncoderFallback support.