ChangeLog 35 KB

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