ChangeLog 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098
  1. 2010-06-18 Rolf Bjarne Kvinge <[email protected]>
  2. * StringBuilder.cs: Moonlight needs Clear too.
  3. 2010-03-16 Jb Evain <[email protected]>
  4. * StringBuilder.cs, Encoding.cs: use MOONLIGHT symbol to
  5. disambiguate MonoTouch and Moonlight code.
  6. 2010-02-02 Jb Evain <[email protected]>
  7. * ASCIIEncoding.cs, Latin1Encoding.cs: remove duplicated code.
  8. 2009-12-09 Chris Toshok <[email protected]>
  9. * Encoding.cs (get_Default): moonlight defaults to UTF8, not
  10. UTF8Unmarked.
  11. 2009-11-24 Marek Safar <[email protected]>
  12. * UTF8Encoding.cs (GetPreamble): Let compiler optimize it.
  13. 2009-11-02 Miguel de Icaza <[email protected]>
  14. * Jumbo patch to drop support for pre-NET_2_0 code:
  15. Remove NET_2_0 defines assuming the value is true.
  16. 2009-10-22 Miguel de Icaza <[email protected]>
  17. * StringBuilder.cs (Text): Add new 4.0 method.
  18. 2009-10-06 Sebastien Pouliot <[email protected]>
  19. * Encoding.cs: Remove normalization methods for Moonlight
  20. 2009-09-23 Sebastien Pouliot <[email protected]>
  21. * Encoding.cs: Add back UTF32 since it's useful for smcs
  22. 2009-09-22 Sebastien Pouliot <[email protected]>
  23. * Encoding.cs: Remove UTF32, Latin1 and custom (loaded code)
  24. encodings for NET_2_1
  25. 2009-07-28 Miguel de Icaza <[email protected]>
  26. * UTF8Encoding.cs: Small optimization, reuse the static
  27. EncoderFallback and DecoderFallback instead of creating new ones.
  28. * UTF8Encoding.cs: Use Equals to compare the objects as the
  29. fallback objects do not overload operator ==. The comparison
  30. was previously failing.
  31. 2009-07-26 Gonzalo Paniagua Javier <[email protected]>
  32. * StringBuilder.cs: don't throw on null values in ctor(string, int).
  33. Unify another ctor into the main one to account for MaxCapacity.
  34. 2009-07-26 Gonzalo Paniagua Javier <[email protected]>
  35. * StringBuilder.cs: small fixes dealing with _maxCapacity.
  36. 2009-02-05 Gert Driesen <[email protected]>
  37. * UTF32Encoding.cs: Added missing argument check in GetByteCount
  38. (char*, int) overload.
  39. 2009-02-04 Atsushi Enomoto <[email protected]>
  40. * UTF32Encoding.cs : fixed wrong range in GetByteCount(). Patch by
  41. David Michell.
  42. 2009-01-30 Atsushi Enomoto <[email protected]>
  43. * UTF8Encoding.cs : surrogate characters are handled in
  44. InternalGetChars() but not in InternalGetCharCount().
  45. Fixed bug #415628.
  46. 2009-01-13 Jb Evain <[email protected]>
  47. * Encoding.cs: when creating a ForwardingEncoder or a
  48. ForwardingDecoder, don't crash if the Encoding doesn't
  49. provide an EncoderFallback or a DecoderFallback.
  50. Mon Oct 6 09:46:09 CEST 2008 Paolo Molaro <[email protected]>
  51. * UTF8Encoding.cs: rewritten InternalGetByteCount () and
  52. InternalGetBytes (): among other things this versions are
  53. 10% to 60% faster, depending on input type and size.
  54. 2008-09-28 Juraj Skripsky <[email protected]>
  55. * StringBuilder.cs (Replace): Return early when no oldValue was
  56. found. Avoid extra string allocations.
  57. 2008-07-03 Andreas Nahr <[email protected]>
  58. * UTF8Encoding.cs: Fix parameter names, Remove unfounded TODO
  59. 2008-07-03 Andreas Nahr <[email protected]>
  60. * UTF8Encoding.cs:
  61. * UTF7Encoding.cs:
  62. * UTF32Encoding.cs:
  63. * EncodingInfo.cs:
  64. * Encoding.cs:
  65. * Encoder.cs:
  66. * ASCIIEncoding.cs: Fix parameter names
  67. 2008-06-01 Juraj Skripsky <[email protected]>
  68. * StringBuilder.cs (ToString): Use String.SubstringUnchecked instead
  69. of String.Substring, as the former is guaranteed to create a new
  70. string object. Fixes bug #395904.
  71. 2008-05-15 Andreas Nahr <[email protected]>
  72. * StringBuilder.cs: Resubmit uncritical parts of String cleanup patch
  73. 2008-04-09 Atsushi Enomoto <[email protected]>
  74. * UTF7Encoding.cs :
  75. Fixed misplaced leftOverSize reset in InternalGetCharCount().
  76. Fixed base64 value for '+' (the value is actually unused though).
  77. 2008-03-27 Kornél Pál <[email protected]>
  78. * Encoding.cs: Fix possible integer overflow in argument validation.
  79. 2008-02-10 Sebastien Pouliot <[email protected]>
  80. * DecoderExceptionFallback.cs: Use 'is' instead of 'as' and a null
  81. check. Found using Gendarme new UseIsOperator rule.
  82. * EncoderExceptionFallback.cs: Use 'is' instead of 'as' and a null
  83. check. Found using Gendarme new UseIsOperator rule.
  84. 2007-12-27 Atsushi Enomoto <[email protected]>
  85. * DecoderFallback.cs, EncoderFallback.cs, Encoding.cs :
  86. the same "\uFFFD" fix for encoder fallback.
  87. Reduced extra instantiation of those fallbacks.
  88. 2007-10-27 Atsushi Enomoto <[email protected]>
  89. * Encoding.cs : fixed UTF8UnmarkedUnsafe for 1.1; should not be null.
  90. 2007-10-26 Atsushi Enomoto <[email protected]>
  91. * Encoding.cs : added UTF8UnmarkedUnsafe, for old empty replacement
  92. UTF8.
  93. 2007-10-25 Atsushi Enomoto <[email protected]>
  94. * UnicodeEncoding.cs : fix build.
  95. 2007-10-25 Atsushi Enomoto <[email protected]>
  96. * DecoderReplacementFallbackBuffer.cs : Reset() should also reset the
  97. input buffer. When fallback is not assigned, just return '\0'.
  98. * UnicodeEncoding.cs : handle throwOnInvalid .ctor argument.
  99. Default replacement fallback buffer is now "\uFFFD".
  100. * UTF8Encoding.cs : couple of replacement buffer size fixes.
  101. Default replacement fallback buffer is now "\uFFFD".
  102. * UTF32Encoding.cs : Default replacement is "\uFFFD" too here.
  103. See http://support.microsoft.com/kb/940521/ for this change.
  104. 2007-08-15 Jb Evain <[email protected]>
  105. * StringBuilder: hide non 2.1 AppendFormat on 2.1 so that
  106. the compile picks up the adequate method when AppendFormat
  107. is used in 2.1 platform code.
  108. 2007-07-28 Miguel de Icaza <[email protected]>
  109. * StringBuilder.cs (Text): Check for null, from Jesse Jones.
  110. 2007-05-03 Dick Porter <[email protected]>
  111. * Encoding.cs:
  112. * UnicodeEncoding.cs:
  113. * UTF7Encoding.cs: Update to 2.0 profile
  114. 2007-02-01 Gert Driesen <[email protected]>
  115. * Encoding.cs: Enabled ArgumentException in GetEncoding (string) again.
  116. In Encoding.Default, catch both ArgumentException and NotSupportException.
  117. 2007-02-01 Atsushi Enomoto <[email protected]>
  118. * Encoding.cs : the change broke the build, so reverted part of it.
  119. 2007-01-31 Gert Driesen <[email protected]>
  120. * Encoding.cs: Also set ParamName of the ArgumentException.
  121. 2007-01-31 Gert Driesen <[email protected]>
  122. * Encoding.cs: In GetEncoding (int) do not allow codepage value below zero
  123. and above 0xffff. Modified NotSupportedException to ArgumentException in
  124. GetEncoding (string).
  125. 2006-12-18 Atsushi Enomoto <[email protected]>
  126. * EncoderFallbackBuffer.cs : implement Reset().
  127. 2006-10-25 Ben Maurer <[email protected]>
  128. * Encoding.cs: Make the GetByteCcount method used fixed pointers
  129. removes quite a few allocations from Banshee.
  130. 2006-09-03 Zoltan Varga <[email protected]>
  131. * StringBuilder.cs (.ctor): Add a comment.
  132. 2006-08-24 Atsushi Enomoto <[email protected]>
  133. * Encoding.cs :
  134. Consider DecoderFallback and EncoderFallback in 2.0 Equals()
  135. and GetHashCode().
  136. * UTF32Encoding.cs, UTF7Encoding.cs :
  137. Fixed GetHashCode() and Equals() as well.
  138. Added several missing overrides in 2.0.
  139. 2006-08-24 Atsushi Enomoto <[email protected]>
  140. * Encoding.cs : implemented IsAlwaysNormalized().
  141. * Latin1Encoding.cs : IsAlwaysNormalized() does not return false
  142. for FormC.
  143. 2006-07-18 Kornél Pál <[email protected]>
  144. * ASCIIEncoding.cs: Fixed GetString () methods to use ASCII rather
  145. than new string (sbyte*, int, int) that uses Encoding.Default.
  146. * Latin1Encoding.cs: Fixed GetString () methods to use Latin 1 rather
  147. than new string (sbyte*, int, int) that uses Encoding.Default.
  148. 2006-07-11 Kornél Pál <[email protected]>
  149. * StringBuilder.cs: Pad the string with NULL characters when setting
  150. Length. This is now documented:
  151. http://msdn2.microsoft.com/en-us/library/system.text.stringbuilder.length.aspx
  152. 2006-07-06 Kornél Pál <[email protected]>
  153. * CodePageEncoding.cs: Corrected comments.
  154. * MLangCodePageEncoding.cs: Corrected comments. Removed unnesessary
  155. ArgumentExceptions in private constructors.
  156. * SurrogateEncoder.cs: Corrected comments.
  157. 2006-07-05 Kornél Pál <[email protected]>
  158. * CodePageEncoding.cs: Return the same real object in subsequent
  159. calls to GetRealObject ().
  160. * MLangCodePageEncoding.cs: Return the same real object in
  161. subsequent calls to GetRealObject (). Rename Encoder and Decoder
  162. MLangEncoder and MLangDecoder. These classes are not serializable
  163. in 1.x although MS.NET 2.0 can deserialize them.
  164. * SurrogateEncoder.cs: Return the same real object in subsequent
  165. calls to GetRealObject ().
  166. 2006-07-04 Kornél Pál <[email protected]>
  167. * CodePageEncoding.cs: Added comment on usage.
  168. * MLangCodePageEncoding.cs: Added comment on usage.
  169. * SurrogateEncoder.cs: Added comment on usage.
  170. 2006-07-03 Kornél Pál <[email protected]>
  171. * CodePageEncoding.cs: Added.
  172. * MLangCodePageEncoding.cs: Added.
  173. * SurrogateEncoder.cs: Added.
  174. 2006-06-27 Atsushi Enomoto <[email protected]>
  175. * EncodingInfo.cs : EncodingName is WebName, not EncodingName.
  176. 2006-06-24 Kornél Pál <[email protected]>
  177. * UnicodeEncoding.cs: Don't detect byte order. Only readers like
  178. StreamReader should detect byte order marks.
  179. 2006-06-21 Kornél Pál <[email protected]>
  180. * Encoding.cs: Return big-endian UTF-32 in GetEncodings () and
  181. GetEncoding (int)
  182. 2006-06-06 Kornél Pál <[email protected]>
  183. * UnicodeEncoding.cs: Override GetString (byte [], int, int) in
  184. profile 1.x as well because performance improvement is worth the
  185. signature difference. (Fix regression of r61250.)
  186. 2006-05-30 Gert Driesen <[email protected]>
  187. * ASCIIEncoding.cs: Marked class ComVisible (true) on 2.0 profile.
  188. Marked 2.0-only members as ComVisible (false).
  189. * Decoder.cs: Marked class ComVisible (true) on 2.0 profile. Marked
  190. 2.0-only members as ComVisible (false).
  191. * Encoder.cs: Marked class ComVisible (true) on 2.0 profile. Marked
  192. 2.0-only members as ComVisible (false).
  193. * Encoding.cs: Marked class ComVisible (true) on 2.0 profile. Marked
  194. 2.0-only members as ComVisible (false).
  195. * NormalizationForm.cs: Marked ComVisible (true).
  196. * StringBuilder.cs: Marked class ComVisible (true) on 2.0 profile.
  197. Marked 2.0-only methods as ComVisible (false).
  198. * UnicodeEncoding.cs: GetString (byte[], int, int) is only available
  199. in 2.0 profile. Marked 2.0-only methods ComVisible (false). Added
  200. missing ctor in 2.0 profile, and marked in MonoTODO.
  201. * UTF7Encoding.cs: Marked class ComVisible (true) on 2.0 profile.
  202. * UTF8Encoding.cs: Marked 2.0-only methods as ComVisible (false).
  203. 2006-05-25 Atsushi Enomoto <[email protected]>
  204. * EncodingInfo.cs, Encoding.cs :
  205. Implemented Encoding.GetEncodings(). It's so hacky!
  206. 2006-04-13 Kornél Pál <[email protected]>
  207. * Encoding.cs: GetString (byte []): Wrap GetString (byte [], int, int)
  208. as MS.NET does. This is a more reasonable high level wrapper
  209. implementation.
  210. * UnicodeEncoding.cs: GetBytes (string): Implement as a wrapper
  211. instead of using GetBytesInternal to be MS.NET compatible.
  212. Override GetString (byte [], int, int) to speed up string creation.
  213. 2006-04-13 Atsushi Enomoto <[email protected]>
  214. * ASCIIEncoding.cs : 2.0 decoder fallback support was missing.
  215. 2006-03-30 Atsushi Enomoto <[email protected]>
  216. * Encoder.cs, Decoder.cs : implemented Convert(). Also added argument
  217. check in some methods.
  218. 2006-03-30 Atsushi Enomoto <[email protected]>
  219. * ASCIIEncoding.cs : added overriden methods in NET_2_0 (maybe
  220. there are optimizations, but for now we need something just works).
  221. 2006-03-24 Atsushi Enomoto <[email protected]>
  222. * UTF8Encoding.cs : made internal implementation as pointer-based,
  223. and added pointer-based converter method overloads.
  224. 2006-03-21 Kornél Pál <[email protected]>
  225. * UnicodeEncoding.cs: Use unsafe code for copying characters to speed
  226. up conversion.
  227. 2006-03-09 Zoltan Varga <[email protected]>
  228. * Encoding.cs: Add stub for net 2.0 GetEncodings () method.
  229. 2006-02-14 Atsushi Enomoto <[email protected]>
  230. * UTF8Encoding.cs : Fallback was indicating incorrect index.
  231. Fixed bug #77550.
  232. 2006-02-10 Atsushi Enomoto <[email protected]>
  233. * ASCIIEncoding.cs : (GetChars) reduced either one store or one jump
  234. in IL. 10% performance improvement.
  235. 2006-02-03 Atsushi Enomoto <[email protected]>
  236. * UTF8Encoding.cs : avoid possible overflow.
  237. 2006-02-03 Atsushi Enomoto <[email protected]>
  238. * UTF8Encoding.cs : In zero-charbuffer case, byte buffer count should
  239. be checked. Also it should not ignore leftOver characters even if
  240. byte buffer length is 0.
  241. 2006-02-03 Atsushi Enomoto <[email protected]>
  242. * UTF8Encoding.cs : Fast path optimization for InternalGetByteCount()
  243. and InternalGetBytes().
  244. 2006-02-03 Atsushi Enomoto <[email protected]>
  245. * UTF8Encoding.cs :
  246. actually leftover bits needs more careful handleding. So it's
  247. better to be rather close to the original GetBytes().
  248. Also changed leftOver handling so that it will be able to support
  249. fallback.
  250. 2006-02-03 Atsushi Enomoto <[email protected]>
  251. * UTF8Encoding.cs :
  252. GetBytes(string, ...) could reuse InternalGetBytes() using fixed
  253. pointers. However, InternalGetBytes() was slower than
  254. GetBytes(string, ...), so first replaced existing InternalGetBytes()
  255. with GetBytes() internals, and GetBytes(string, ...) switched to
  256. InternalGetBytes(). Now GetBytes() implementation code is reduced
  257. to one method.
  258. 2006-02-02 Atsushi Enomoto <[email protected]>
  259. * UTF8Encoding.cs : fast path optimization was pretty insufficient.
  260. Now it handles the entire bytes, not just half of them.
  261. 2006-02-02 Atsushi Enomoto <[email protected]>
  262. * UTF8Encoding.cs : zero-length check was wrong. Check it by
  263. "charIndex == chars.Length" instead of "charCount == 0".
  264. 2006-02-02 Atsushi Enomoto <[email protected]>
  265. * UTF8Encoding.cs : switched GetBytes() to pointer-based code.
  266. Implemented 2.0 pointer-based GetBytes(). 10% perf. improvement.
  267. 2006-01-30 Atsushi Enomoto <[email protected]>
  268. * UTF8Encoding.cs : InternalGetCharCount() optimization again, and
  269. this time InternalGetChars() as well.
  270. 2006-01-24 Mike Glenn <[email protected]>
  271. * StringBuilder.cs: Avoid computing computation for the string
  272. length twice.
  273. 2006-01-24 Atsushi Enomoto <[email protected]>
  274. * UTF8Encoding.cs : reverted the previous change. Looks like it broke
  275. the build.
  276. 2006-01-24 Atsushi Enomoto <[email protected]>
  277. * UTF8Encoding.cs : InternalGetCharCount() optimization: fast path
  278. for ASCII range.
  279. 2006-01-24 Atsushi Enomoto <[email protected]>
  280. * UTF7Encoding.cs UTF8Encoding.cs :
  281. Fixed bug #77315 (Patch by [email protected]).
  282. Make strict check for invalid surrogate.
  283. 2006-01-23 Atsushi Enomoto <[email protected]>
  284. * EncoderFallbackException.cs EncoderExceptionFallback.cs
  285. DecoderFallbackBuffer.cs EncoderReplacementFallback.cs
  286. EncoderFallbackBuffer.cs DecoderExceptionFallbackBuffer.cs
  287. EncoderFallback.cs DecoderReplacementFallbackBuffer.cs
  288. DecoderFallbackException.cs DecoderExceptionFallback.cs
  289. DecoderReplacementFallback.cs EncoderExceptionFallbackBuffer.cs
  290. EncoderReplacementFallbackBuffer.cs :
  291. include them in net_2_0bootstrap build.
  292. 2006-01-20 Atsushi Enomoto <[email protected]>
  293. * Decoder.cs : ditto.
  294. 2006-01-20 Atsushi Enomoto <[email protected]>
  295. * Encoder.cs : Fallback should be initialized to have an instance.
  296. 2006-01-20 Atsushi Enomoto <[email protected]>
  297. * Encoding.cs : Cloned instances should not be read-only.
  298. 2005-12-08 Atsushi Enomoto <[email protected]>
  299. * UTF8Encoding.cs : (GetChars) let ABCREM work effectively.
  300. 2005-12-08 Atsushi Enomoto <[email protected]>
  301. * Encoding.cs : now under 2.0 GetBytes(string,...) dispatches to
  302. byte*-based GetBytes().
  303. * UTF8Encoding.cs : avoid extraneous DecoderFallbackBuffer creation
  304. which came to happen after introducing fallback buffer.
  305. 2005-11-28 Atsushi Enomoto <[email protected]>
  306. * Encoding.cs, ASCIIEncoding.cs, Latin1Encoding.cs :
  307. Added IsSingleByte.
  308. 2005-11-28 Atsushi Enomoto <[email protected]>
  309. * Encoder.cs : added new GetByteCount()/GetBytes() overloads.
  310. Added FallbackBuffer.
  311. * Decoder.cs : added new GetCharCount()/GetChars() overloads.
  312. 2005-11-28 Atsushi Enomoto <[email protected]>
  313. * EncodingInfo.cs : new file.
  314. 2005-11-28 Atsushi Enomoto <[email protected]>
  315. * UTF32Encoding.cs : Sealed. Added the overload which has
  316. throwOnInvalid parameter.
  317. * NormalizationForm.cs : removed [Serializable].
  318. 2005-11-28 Atsushi Enomoto <[email protected]>
  319. * Encoding.cs : added UTF32.
  320. 2005-11-28 Atsushi Enomoto <[email protected]>
  321. * UTF32Encoding.cs : surrogate pairs vanished in GetBytes() when the
  322. endianness is big.
  323. 2005-11-28 Atsushi Enomoto <[email protected]>
  324. * UTF32Encoding.cs : new file.
  325. 2005-11-22 Atsushi Enomoto <[email protected]>
  326. * ASCIIEncoding.cs, Latin1Encoding.cs : added EncoderFallback support.
  327. * Encoding.cs : changed default fallback selection. Seems like only
  328. ASCII and GB18030 uses '?' for replacement.
  329. * UTF8Encoding.cs : now that Fallback is read only by default, we
  330. need special setter.
  331. 2005-11-16 Atsushi Enomoto <[email protected]>
  332. * UTF8Encoding.cs : safer UTF8Decoder ctor.
  333. 2005-11-16 Atsushi Enomoto <[email protected]>
  334. * Decoder.cs : added FallbackBuffer property.
  335. * UTF8Encoding.cs : In NET_2_0, use DecoderFallbackBuffer instead of
  336. "throwOnInvalid".
  337. 2005-11-15 Atsushi Enomoto <[email protected]>
  338. * DecoderReplacementFallbackBuffer.cs : it does not have to preserve
  339. byte buffer.
  340. * EncoderReplacementFallbackBuffer.cs : implemented.
  341. * DecoderReplacementFallback.cs, EncoderReplacementFallback.cs :
  342. Removed MonoTODO.
  343. 2005-11-15 Atsushi Enomoto <[email protected]>
  344. * DecoderFallbackBuffer.cs : Reset() does nothing here.
  345. * DecoderReplacementFallbackBuffer.cs : implemented, but no idea how
  346. bytesUnknown is used.
  347. 2005-11-15 Atsushi Enomoto <[email protected]>
  348. * Encoding.cs : added ICloneable, Clone() and new GetEncoding().
  349. 2005-11-15 Atsushi Enomoto <[email protected]>
  350. * Encoding.cs : Added IsReadOnly, DecoderFallback and EncoderFallback.
  351. * Encoder.cs : Added Fallback property.
  352. * Decoder.cs : Added Fallback property.
  353. 2005-11-15 Atsushi Enomoto <[email protected]>
  354. * EncoderFallbackBuffer.cs, EncoderFallback.cs,
  355. EncoderExceptionFallbackBuffer.cs,
  356. EncoderReplacementFallbackBuffer.cs,
  357. EncoderFallbackException.cs,
  358. EncoderExceptionFallback.cs,
  359. EncoderReplacementFallback.cs : new files (not actually used yet).
  360. * DecoderExceptionFallback.cs, DecoderFallbackException.cs,
  361. DecoderReplacementFallback.cs : [Serializable] and sealed.
  362. * DecoderReplacementFallbackBuffer.cs : Reset() was missing.
  363. 2005-11-14 Atsushi Enomoto <[email protected]>
  364. * DecoderFallbackBuffer.cs, DecoderFallback.cs,
  365. DecoderExceptionFallbackBuffer.cs,
  366. DecoderReplacementFallbackBuffer.cs,
  367. DecoderFallbackException.cs,
  368. DecoderExceptionFallback.cs,
  369. DecoderReplacementFallback.cs : new files (not actually used yet).
  370. 2005-11-14 Miguel de Icaza <[email protected]>
  371. * ASCIIEncoding.cs, Encoding: Another snack, just a few methods
  372. missing.
  373. Also add some checks that were missing.
  374. 2005-11-11 Sebastien Pouliot <[email protected]>
  375. * StringBuilder.cs: Fix ISerializable.GetObjectData (remoting tests
  376. were failing under 2.0) and two possible integer overflow in CopyTo.
  377. 2005-11-11 Miguel de Icaza <[email protected]>
  378. * Encoding.cs, UnicodeEncoding.cs: A few 2.x methods.
  379. * StringBuilder.cs (Text): Added serialization support in 2.x.
  380. 2005-10-22 Jonathan Pryor <[email protected]>
  381. * UTF8Encoding.cs (InternalGetChars/InternalGetCharCount): Fix lead byte
  382. check logic for 6 octet sequences. ((ch & 0xFC) == 0xFC) is always true
  383. for 0xFF, even though 0xFF isn't a valid lead byte. It should be
  384. ((ch & 0xFE) == 0xFC).
  385. 2005-08-25 Atsushi Enomoto <[email protected]>
  386. * UTF8Encoding.cs : (InternalGetChars/InternalGetCharCount):
  387. Don't exclude FEFF in the resulting text.
  388. 2005-06-21 Ben Maurer <[email protected]>
  389. * StringBuilder.cs (Replace): Do the correct thing when we replace
  390. with a longer string. Thanks to Alexander Beznozdrev
  391. <[email protected]>
  392. 2005-05-26 Ben Maurer <[email protected]>
  393. * Encoding.cs: Use static object for locking. `volatile' to
  394. prevent double checked locking error.
  395. * StringBuilder.cs: Remove = null inits on fields, saves a few
  396. instructions. When we compare _cached_str == _str, we are only
  397. interested in pointer based equality, so just do that.
  398. 2005-05-06 Ben Maurer <[email protected]>
  399. * StringBuilder.cs (InternalEnsureCapacity): It is possible that
  400. the size we attempt to grow to is more than the max capacity, but
  401. that a smaller size will do. In this case, don't throw an
  402. exception. Fixes #72244
  403. 2005-04-16 Atsushi Enomoto <[email protected]>
  404. * NormalizationForm.cs : new file.
  405. 2005-03-20 Ben Maurer <[email protected]>
  406. * StringBuilder.cs (set_Length): If we set the length, we must
  407. clobber the cached string.
  408. 2005-03-03 Gonzalo Paniagua Javier <[email protected]>
  409. * UnicodeEncoding.cs: same fix (\uFEFF) but for Unicode. Patch by
  410. Svetlana Zholkovsky.
  411. 2005-03-03 Gonzalo Paniagua Javier <[email protected]>
  412. * UTF7Encoding.cs: fix for characters encoded as a shifted sequence
  413. whose length is greater than 3. Patch by Svetlana Zholkovsky.
  414. 2005-01-31 Ben Maurer <[email protected]>
  415. * StringBuilder.cs (Remove): We need to do the check that the
  416. string isnt being cached *before* we munge it.
  417. 2005-01-21 Ben Maurer <[email protected]>
  418. * StringBuilder.cs: Don't allocate memory on the .ctor, do it
  419. lazily. This saves us lots of memory if you only use the
  420. stringbuilder once. Also, we can allocate on the second Append,
  421. which might reduce the number of buffers allocated.
  422. 2005-01-14 Lluis Sanches Gual <[email protected]>
  423. * StringBuilder.cs: Improved parameter check.
  424. 2005-01-11 Gonzalo Paniagua Javier <[email protected]>
  425. * StringBuilder.cs: when creating the StringBuilder from a string, the
  426. maximum capacity remains Int32.MaxValue.
  427. 2005-01-10 Gonzalo Paniagua Javier <[email protected]>
  428. * StringBuilder.cs: throw if the new size is greater than the maximum
  429. capacity for the StringBuilder. Patch by [email protected]. Fixes
  430. bug #62422.
  431. 2004-12-15 Sebastien Pouliot <[email protected]>
  432. * UTF7Encoding.cs: Fixed warning for unused variable.
  433. 2004-09-30 Juraj Skripsky <[email protected]>
  434. * Encoding.cs: Add encoding name "latin1" for compatibility with
  435. MS.NET.
  436. 2004-09-25 Zoltan Varga <[email protected]>
  437. * StringBuilder.cs (Append): Use InternalStrcpy to append char arrays.
  438. 2004-09-09 Tim Coleman <[email protected]>
  439. * StringBuilder.cs: Added AppendLine methods for Fx 2.0
  440. 2004-06-23 Sebastien Pouliot <[email protected]>
  441. * UTF7Encoding.cs: Fixed decoding table. Fixed char count calculation.
  442. Follow the RFC1642 rules for "overbits".
  443. 2004-06-15 Gert Driesen <[email protected]>
  444. * ASCIIEncoding.cs: added TODO for serialization
  445. * StringBuilder.cs: added TODO for serialization
  446. * UnicodeEncoding.cs: added TODO for serialization
  447. * UTF7Encoding.cs: added TODO for serialization
  448. * UTF8Encoding.cs: added TODO for serialization
  449. 2004-06-10 Gert Driesen <[email protected]>
  450. * Encoding.cs: Marked protected internal field as internal to
  451. fix API signature
  452. 2004-06-07 Atsushi Enomoto <[email protected]>
  453. * UTF8Encoding.cs : Length check must be done only when the character
  454. sequence is valid (i.e. should not check when it is overlongs).
  455. See also TestThrowOnInvalid().
  456. 2004-06-07 Atsushi Enomoto <[email protected]>
  457. * UTF8Encoding.cs : Added Overlong check to InternalGetCharCount().
  458. 2004-06-07 Atsushi Enomoto <[email protected]>
  459. * UTF8Encoding.cs : Throw overlongs error only when throwOnInvalid is
  460. true. Otherwise just ignore them.
  461. 2004-05-26 Sebastien Pouliot <[email protected]>
  462. * StringBuilder.cs: Fixed potential integer overflows in several
  463. methods.
  464. 2004-05-14 Sebastien Pouliot <[email protected]>
  465. * UTF8Encoding.cs: Moved charCount-- after the check for surrogate
  466. pair. This fix bug #57009 (and 2 failing unit tests). Added code
  467. to check for some (like MS) overlongs.
  468. 2004-05-03 Lluis Sanches Gual <[email protected]>
  469. * Encoding.cs: Use name const to load I18N assembly.
  470. 2004-04-25 Andreas Nahr <[email protected]>
  471. * Encoding.cs: Call shortcut String.ToLowerInvariant
  472. 2004-04-13 Miguel de Icaza <[email protected]>
  473. * Encoding.cs: Use new internal codepage setup.
  474. 2004-04-10 Atsushi Enomoto <[email protected]>
  475. * UTF7Encoding.cs : GetMaxByteCount() was based on incorrect formula.
  476. 2004-03-19 Dick Porter <[email protected]>
  477. * UnicodeEncoding.cs: GetCharCount(), GetChars(): Check for the
  478. BOM at the beginning of the range of characters we're interested
  479. in, not at the beginning of the array. Fixes bug 51531.
  480. 2004-03-10 Juraj Skripsky <[email protected]>
  481. * StringBuilder.cs
  482. (Insert int, char[]): fix by using new string(char[]) instead of
  483. char[].ToString() and simplify.
  484. (Insert int, string, int): add LAMESPEC note.
  485. (Insert int char[], int, int): handle value==null according to spec.
  486. Use a string instead of char array + Array.Copy (gonzalo)
  487. 2004-03-08 Gonzalo Paniagua Javier <[email protected]>
  488. * StringBuilder.cs:
  489. (Append (string)): remove redundant check.
  490. 2004-01-23 Gonzalo Paniagua Javier <[email protected]>
  491. * StringBuilder.cs:
  492. (Remove): fixed offsets when copying and set the new size. Fixes bug
  493. #53240.
  494. 2004-01-13 Gonzalo Paniagua Javier <[email protected]>
  495. * StringBuilder.cs: added checks for null in a few Append methods.
  496. Tue Jan 13 22:23:25 CET 2004 Paolo Molaro <[email protected]>
  497. * StringBuilder.cs: fixed start offset in Append(char).
  498. 2004-01-12 Patrik Torstensson
  499. * StringBuilder.cs: new implementation that uses
  500. string as a buffer instead of a array of chars.
  501. 2003-12-07 Ben Maurer <[email protected]>
  502. * UTF8Encoding.cs (GetBytes string): Do not call base
  503. The version in Encoding will call string.ToCharArray (),
  504. allocating an extra array. By calling the better method
  505. in our own class we can save memory.
  506. 2003-11-17 Ben Maurer <[email protected]>
  507. * StringBuilder.cs (Insert int, char): It is really silly and
  508. wasteful to allocate an array here. We can just copy the value
  509. over.
  510. 2003-11-11 Miguel de Icaza <[email protected]>
  511. * Encoding.cs: Use an internal variable to track the parameters of
  512. each encoder, since the .NET API does not expose virtual methods
  513. in the child classes, we should not depend on that.
  514. * ASCIIEncoding.cs, UTF7Encoding, UTF8Encoding, UnicodeEncoding:
  515. Initialize the parameters for base class encoding here.
  516. 2003-09-01 Miguel de Icaza <[email protected]>
  517. * Encoding.cs (UTF8Unmarked): make it also not error out on
  518. invalid input, that is what the Microsoft default is for the
  519. StreamReader and BinaryReader expect (our main consumers).
  520. 2003-08-21 Ben Maurer <[email protected]>
  521. * StringBuilder.cs
  522. (AppendFormat) Use FormatHelper in System.String to avoid
  523. allocating an extra StringBuilder.
  524. (Append string, int, int), (Append char, int): Both were
  525. allocating extra strings.
  526. 2003-06-05 Nick Drochak <[email protected]>
  527. * UTF8Encoding.cs: Cleanups according to class status page
  528. 2003-05-10 Miguel de Icaza <[email protected]>
  529. * Encoding.cs (GetEncoding): Add all the aliases documented in the
  530. framework. We were missing a few.
  531. Reorganize the table. Also, convert the input name into the
  532. lower-case - to _ before we compare against our table.
  533. 2003-05-10 Gonzalo Paniagua Javier <[email protected]>
  534. * StringBuilder.cs: fixed bug #41397.
  535. 2003-04-12 Miguel de Icaza <[email protected]>
  536. * Encoding.cs: Enabled the code paths that we did have commented
  537. out, they seem to work now.
  538. Fri Apr 11 08:29:50 CEST 2003 Paolo Molaro <[email protected]>
  539. * StringBuilder.cs: cache the result from ToString().
  540. 2003-03-18 Atsushi Enomoto <[email protected]>
  541. * UnicodeEncoding.cs: changed WebName from unicodeFFFE to utf-16be.
  542. (unicodeFFFE is MS compliant, but isn't valid IANA encoding name.)
  543. 2003-03-05 Gonzalo Paniagua Javier <[email protected]>
  544. * ASCIIEncoding.cs: fixed bug #38984.
  545. 2003-03-05 Aleksey Demakov <[email protected]>
  546. * ASCIIEncoding.cs:
  547. * Latin1Encoding.cs: fix GetString (byte[]) and
  548. GetString (byte[], int, int) for zero-length case.
  549. 2003-02-19 Gonzalo Paniagua Javier <[email protected]>
  550. * Latin1Encoding.cs: added Serializable attribute.
  551. 2003-02-03 Gonzalo Paniagua Javier <[email protected]>
  552. * Encoding.cs: removed UnixConsoleEncoding.
  553. 2003-01-30 Zoltan Varga <[email protected]>
  554. * StringBuilder.cs: fix the constructor: 'value' can be NULL,
  555. 'capacity' must be >=0, use defaultCapacity only if capacity equals 0.
  556. This fixes the StringBuilder unit tests.
  557. 2003-01-30 Gonzalo Paniagua Javier <[email protected]>
  558. * StringBuilder.cs: fixed typo in set_Length.
  559. 2002-12-12 Gonzalo Paniagua Javier <[email protected]>
  560. * Encoding.cs: g_get_encoding () returns "ASCII". In Default, when the
  561. encoding is not found, default to UTF8Unmarked. Removed comment in
  562. UnixConsoleEncoding, because it's now Default, which gets the
  563. encoding internally using g_get_encoding ().
  564. 2002-12-01 Gonzalo Paniagua Javier <[email protected]>
  565. * StringBuilder.cs: fixed constructor. Thanks to marcusU for reporting.
  566. Tue Nov 19 13:03:27 CET 2002 Paolo Molaro <[email protected]>
  567. * UTF8Encoding.cs: fix GetByteCount (), too.
  568. 2002-11-19 Miguel de Icaza <[email protected]>
  569. * UnicodeEncoding.cs: the bytemark should only be used to return
  570. information in GetPreamble, not to actually encode the information
  571. on the stream. That is taken care of by the Stream classes.
  572. * UTF8Encoding.cs: ditto.
  573. 2002-11-13 Gonzalo Paniagua Javier <[email protected]>
  574. * StringBuilder.cs: only move the remaining chars in Remove.
  575. 2002-11-05 Gonzalo Paniagua Javier <[email protected]>
  576. * Encoding.cs: unixConsoleEncoding is now the same as Default. Avoid
  577. locking whenever possible.
  578. 2002-10-30 Miguel de Icaza <[email protected]>
  579. * Encoding.cs (UTF8Unmarked): New static property, used to return
  580. a no-markers UTf8 encoder, used in a few places in the class library.
  581. 2002-09-06 Miguel de Icaza <[email protected]>
  582. * Encoding.cs (UTF8, Unicode): Create with a preamble, that is
  583. what the Microsoft version does.
  584. (UnixConsoleEncoding): New internal method, used to get the
  585. encoding, in the future, this should pull the locale, map to
  586. charset and then code page.
  587. Wed Sep 4 14:01:25 CEST 2002 Paolo Molaro <[email protected]>
  588. * Encoding.cs: use icall to get default codepage.
  589. * DefaultEncoding.cs: remove useless class.
  590. Mon Aug 26 16:44:54 CEST 2002 Paolo Molaro <[email protected]>
  591. * *.cs: change to conform to mono coding style.
  592. 2002-08-24 Gonzalo Paniagua Javier <[email protected]>
  593. * ASCIIEncoding.cs:
  594. * Decoder.cs:
  595. * Encoder.cs:
  596. * Encoding.cs:
  597. * UTF7Encoding.cs:
  598. * UTF8Encoding.cs:
  599. * UnicodeEncoding.cs: added Serializable attribute.
  600. 2002-08-24 Gonzalo Paniagua Javier <[email protected]>
  601. * StringBuilder.cs: improved performace by using String.InternalCopyTo
  602. instead of using ToCharArray all over the place (more that 50% of
  603. speed improvement when using Append).
  604. Wed Aug 21 20:02:04 CEST 2002 Paolo Molaro <[email protected]>
  605. * *.cs: imported the code donated by Rhys Weatherley
  606. <[email protected]>.
  607. 2002-08-18 Dick Porter <[email protected]>
  608. * Encoding.cs: Make GetString() return a useful representation of
  609. the bytes, rather than "System.Char[]"
  610. 2002-08-03 Gonzalo Paniagua Javier <[email protected]>
  611. * StringBuilder.cs: added IndexerName to indexer.
  612. 2002-08-01 Jason Diamond <[email protected]>
  613. * Encoding.cs: Use GetByteCount instead of GetMaxByteCount when
  614. converting chars to bytes.
  615. 2002-07-13 Gonzalo Paniagua Javier <[email protected]>
  616. * StringBuilder.cs: updated comments. MaxCapacity always returns
  617. Int32.MaxValue.
  618. 2002-06-21 Gonzalo Paniagua Javier <[email protected]>
  619. * StringBuilder.cs: implemented AppendFormat methods using
  620. String.Format. Thanks Paolo!
  621. This makes xsp generate correct C# output in linux :-). I still need
  622. to do more testing, though.
  623. Mon Jun 3 12:58:40 CEST 2002 Paolo Molaro <[email protected]>
  624. * ASCIIEncoding.cs: fixed handling of 0 bytecount.
  625. 2002-05-19 Martin Baulig <[email protected]>
  626. * Encoder.cs (IConvEncoder.GetByteCount, IConvEncoder.GetBytes):
  627. Added exception handling.
  628. * Decoder.cs (IConvDecoder.GetCharCount, IConvDecoder.GetChars):
  629. Added exception handling.
  630. 2002/04/02 Nick Drochak <[email protected]>
  631. * StringBuilder.cs (Append): Removed obsolete overload.
  632. 2002-03-21 Mike Kestner <[email protected]>
  633. * ASCIIEncoding.cs : Fix off by one error in Get(Char|Byte)Count.
  634. Thu Mar 21 17:38:19 CET 2002 Paolo Molaro <[email protected]>
  635. * StringBuilder.cs: no need to intern the string returned by ToString().
  636. 2002-03-17 Mike Kestner <[email protected]>
  637. * ASCIIEncoding.cs: Implement all the overridden methods. No longer
  638. dependent on iconv icalls.
  639. * Encoding.cs: Fix count bugs in GetBytes and GetChars. Add virtual
  640. to GetBytes.
  641. Wed Mar 13 00:26:29 CET 2002 Paolo Molaro <[email protected]>
  642. * StringBuilder.cs: make ToString() return a interned string, this
  643. seems to be required to make switch on string work.
  644. Fri Mar 8 17:29:58 CET 2002 Paolo Molaro <[email protected]>
  645. * StringBuilder.cs: make Append(char) do the smart thing.
  646. 2002-01-05 Ravi Pratap <[email protected]>
  647. * ASCIIEncoding.cs, Encoding.cs, UTF7Encoding.cs,
  648. UnicodeEncoding.cs: MonoTODO attribute marking.
  649. * StringBuilder.cs : Ditto.
  650. Wed Nov 14 17:05:22 CET 2001 Paolo Molaro <[email protected]>
  651. * Encoding.cs: renamed some fields.
  652. * StringBuilder.cs: CLSCompliant updates.
  653. 2001-10-29 Nick Drochak <[email protected]>
  654. * StringBuilder.cs: Throw exceptions when constructor paramter(s) are
  655. invalid. Just like MS does (as best as I can tell).
  656. Tests for these exceptions are now added to the unit tests as well.
  657. 2001-10-25 Nick Drochak <[email protected]>
  658. * StringBuilder.cs: Throw exception if they try to make a StringBuilder
  659. whose capacity is greater than the MaxCapacity.
  660. I added some tests for the constructors and the above exception. More
  661. coming soon.
  662. 2001-10-23 Nick Drochak <[email protected]>
  663. * StringBuilder.cs: Refactored constructor code into just one
  664. constructor. All the other construtors call it. Also supplied missing
  665. constructors so the class has all those in the spec.
  666. Added the MaxCapacity property as well, however this needs to be
  667. completed to return a value is related to the available system memory.
  668. 2001-10-07 Miguel de Icaza <[email protected]>
  669. * Encoding.cs, UTF8Encoding.cs, UTF7Encoding.cs, ASCIIEncoding.cs,
  670. UnicodeEncoding.cs: Corrected API.
  671. * UTF8Encoding.cs: Checked in changes from Rafael.
  672. 2001-08-28 Dietmar Maurer <[email protected]>
  673. * UTF8Encoding.cs: impl. clumsy GetBytes
  674. 2001-07-16 Marcin Szczepanski <[email protected]>
  675. * StringBuilder.cs (Text): Fixed.
  676. * StringBuilderTest.cs: Implement Test suite.
  677. 2001-07-12 Marcin Szczepanski <[email protected]>
  678. * StringBuilder.cs: Implemented.
  679. The only methods left unimplemented are the AppendFormat( ... )
  680. ones just because it's probably better to wait until some of the
  681. Format related classes are implemented. I've put that as a TODO
  682. comment at the top and created the methods with a "nop" body.
  683. 2001-06-26 Sean MacIsaac <[email protected]>
  684. * UnicodeEncoding.cs: Members added so that a clean compile is
  685. possible.
  686. * ASCIIEncoding.cs: Members added so that a clean compile is
  687. possible.
  688. * UTF7Encoding.cs: Members added so that a clean compile is
  689. possible.
  690. * UTF8Encoding.cs: Members added so that a clean compile is
  691. possible.
  692. * Encoding.cs: All public members included. Most members
  693. unimplemented.