ChangeLog 35 KB

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