bb83179c8190ca437776fb183917726f6848b073
[mono.git] / mcs / class / System / System / ChangeLog
1 2010-06-28  Alan McGovern  <amcgovern@novell.com>
2
3         * UriTypeConverter.cs: Fix some regressed tests and add a new test
4         for when ConvertFrom is called with String.Empty.
5
6 2010-06-28  Alan McGovern  <amcgovern@novell.com>
7
8         * UriTypeConverter.cs: Converting String.Empty should return null
9         instead of a Uri instance. Null values and unconvertable values
10         need to throw NotSupportedExceptions for moonlight too.
11
12 2010-06-22 Gonzalo Paniagua Javier <gonzalo@novell.com>
13
14         * Uri.cs: change of behavior un 4.0.
15         Fixes bug #602411.
16
17 2010-06-18 Gonzalo Paniagua Javier <gonzalo@novell.com>
18
19         * Uri.cs: fix serialization for relative URIs. Patch from Greg
20         Smolyn. Fixes bug #615320.
21
22 2010-05-29 Gonzalo Paniagua Javier <gonzalo@novell.com>
23
24         * Uri.cs: Leave consecutive slashes in 'path' alone.
25         Fix for bug #606142. Backport once tested.
26
27 2010-05-24  Atsushi Enomoto  <atsushi@ximian.com>
28
29         * Uri.cs : do not reject relative URIs that contain ':' and
30           any non-scheme characters preceding it.
31
32 2010-04-17  Raja R Harinath  <harinath@hurrynot.org>
33
34         Keep "ftp://a.b/%2fcd" urls unmolested
35         * Uri.cs (CompactEscaped): New.  Check if scheme allows escaped
36         path characters are compacted (list of schemes obtained from MSDN).
37         (Reduce): Add argument that is set if escaped characters need to
38         be compacted.
39
40 2010-03-20  Miguel de Icaza  <miguel@novell.com>
41
42         * Uri.cs: Drop pre-2.0 support
43
44 2010-03-19  Sebastien Pouliot  <sebastien@ximian.com>
45
46         * Uri.cs: Remove some MOONLIGHT defines
47
48 2010-03-16  Jb Evain  <jbevain@novell.com>
49
50         * Uri.cs, UriTypeConverter.cs: use MOONLIGHT symbol to
51         disambiguate MonoTouch and Moonlight code.
52
53 2010-01-27  Carlos Alberto Cortez <calberto.cortez@gmail.com>
54
55         * Uri.cs: In IsWellFormedOriginalString(), call to our internal
56         EscapeString() method since we need to tell it to *not* escape '#'
57         (hex). Fixes #549135.
58
59 2009-11-30  Sebastien Pouliot  <sebastien@ximian.com>
60
61         * Uri.cs: Hide protected EscapeString and Unescape for SL2/3
62         * UriTypeConverter.cs: Seal type for SL2/3
63
64 2009-11-26  Stephane Delcroix  <stephane@delcroix.org>
65
66         * Uri.cs (ParseNoExceptions): don't try to find a scheme if the uri is a
67         UnixFileName or WindowsUNC.
68
69 2009-11-02  Miguel de Icaza  <miguel@novell.com>
70
71         * UriFormatException.cs: .NET 4.0 API
72
73 2009-10-15  Atsushi Enomoto  <atsushi@ximian.com>
74
75         * Uri.cs : do not reject relative short name URI when uriKind is
76           RelativeOrAbsolute.
77
78 2009-09-01  Raja R Harinath  <harinath@hurrynot.org>
79
80         Fix #533572
81         * Uri.cs (ParseNoExceptions): Don't look for '@' in absolute unix paths.
82
83 2009-05-16  Sebastien Pouliot  <sebastien@ximian.com>
84
85         * Uri.cs (NET_2_1): Remove some extra code for NET_2_1
86
87 2009-04-23  Sebastien Pouliot  <sebastien@ximian.com>
88
89         * UriParser.cs: Don't use compiled regex on NET_2_1 (feature is
90         not available)
91
92 2009-04-21  Sebastien Pouliot  <sebastien@ximian.com>
93
94         * DefaultUriParser.cs: Add special case for schema
95         * Uri.cs: Make sure we can use a default parser if none was
96         registred for the URI schema.
97         * UriParser.cs: Handle "*" as a special schema for "anything"
98         [Fix bug #496783]
99
100 2009-04-21  Sebastien Pouliot  <sebastien@ximian.com>
101
102         * Uri.cs: Fix some issues found with Moonlight (see new unit
103         tests)
104
105 2009-04-14  Sebastien Pouliot  <sebastien@ximian.com>
106
107         * Uri.cs: Fix processing of %2f and %5c in paths. Avoid a few
108         computation where the result is not used (overwritten)
109
110 2009-03-16  Raja R Harinath  <harinath@hurrynot.org>
111
112         Reduce dependence of UriParser on Uri
113         * UriParser.cs (GetComponents): Don't refer to fields of Uri to
114         extract components.  Use a pair of regexes instead on
115         Uri.OriginalString.
116         * Uri.cs (OriginalString): Make available as an internal property
117         in the NET_1_1 profile.
118
119 2009-03-10  Jackson Harper  <jackson@ximian.com>
120
121         * Uri.cs: 2.1 Uris do get a UriTypeConverter.
122
123 2009-02-18  Atsushi Enomoto  <atsushi@ximian.com>
124
125         * Uri.cs : file URI for Windows path should also try '\' instead of
126           '/' as a host/path separator.
127
128 2009-02-09  Raja R Harinath  <harinath@hurrynot.org>
129
130         * IUriData.cs, UriData.cs: New.  Initial cut at UriParser protocol.
131
132         Make UriParser available in the NET_1_1 build
133         * UriParser.cs: Make visible as internal class in the NET_1_1 build.
134         * UriComponents.cs, UriFormats.cs, DefaultUriParser.cs: Likewise.
135         * GenericUriParser.cs, GenericUriParserOptions.cs: Likewise.
136
137 2009-02-08  Gert Driesen  <drieseng@users.sourceforge.net>
138
139         * Uri.cs: Moved UriKind check from TryCreate to exception-less .ctor,
140         and check accessibility of this .ctor from internal to private.
141
142 2009-01-28  Bill Holmes  <billholmes54@gmail.com>
143
144         * Uri.cs (IsWellFormedUriString):  Changing IsWellFormedUriString
145           to not throw an exception but return false instead. 
146
147         Contributed under MIT/X11 license.
148
149 2009-15-01  Leeszek Ciesielski <skolima@gmail.com>
150
151         * Uri.cs: Use registered UriParser when a custom schema is passed
152         Fixes 464235, but is a bit of a hack
153
154 2009-01-13  Stephane Delcroix  <sdelcroix@novell.com>
155
156         * Uri.cs: Fix the previous patch for 1.0 profile
157
158 2009-01-13 Gonzalo Paniagua Javier <gonzalo@novell.com>
159
160         * Uri.cs: avoid throwing exceptions when checking for the host name
161         type.
162
163 2009-01-07  Sebastien Pouliot  <sebastien@ximian.com>
164
165         * UriTypeConverter.cs: Customize for NET_2_1 since this type is 
166         not part of System.Windows.dll anymore
167
168 2008-12-20  Miguel de Icaza  <miguel@novell.com>
169
170         * GenericUriParserOptions.cs: Idn and IriParsing are now part of
171         .NET 
172
173 2008-09-16  Miguel de Icaza  <miguel@novell.com>
174
175         * Uri.cs (TryCreate): Implement one of the TryCreate methods
176         without throwing exceptions.   Still two more to go, the hardest
177         ones. 
178
179         Part of a fix for #424192.
180
181 2008-09-08  Miguel de Icaza  <miguel@novell.com>
182
183         * Uri.cs (MaybeUri): A helper routine for methods in other classes
184         to quickly determine if something might be a Uri, before calling
185         the more expensive Uri.TryCreate (see bug 424192).
186
187 2008-08-08  Sebastien Pouliot  <sebastien@ximian.com>
188
189         * UriTypeConverter.cs: Fix cp typo found when cp (of course ;-) 
190         code into Silverlight's System.Windows.dll
191
192 2008-08-07  Sebastien Pouliot  <sebastien@ximian.com>
193
194         * GenericUriParserOptions.cs: Add new values for SL2 (NET_2_1)
195         * UriFormatException.cs: Add ctor(string,Exception) for SL2 (NET_2_1)
196         * UriIdnScope.cs: Fix values
197
198 2008-08-06  Miguel de Icaza  <miguel@novell.com>
199
200         * Uri.cs: Use exception-less operations.
201
202 2008-07-31  Jb Evain  <jbevain@novell.com>
203
204         * Uri.cs: cleanup for NET_2_1.
205
206 2008-05-29  Marek Habersack  <mhabersack@novell.com>
207
208         * UriParser.cs: use the lock in CreateDefaults in the way that it
209         needs to acquired only once.
210
211 2008-03-10  Stephane Delcroix  <sdelcroix@novell.com>
212
213         * Uri.cs: Fix escaping on utf8 strings. bug 363320.
214
215 2008-02-15  Atsushi Enomoto  <atsushi@ximian.com>
216
217         * Uri.cs : UriParser field blocks serialization.
218
219 2008-01-23  Robert Jordan  <robertj@gmx.net>
220
221         * Uri.cs (Parse): Handle uriString.Length == 1 as a valid relative URI.
222         Fixes #346432.
223
224 2007-12-04  Arina Itkes <arinai@mainsoft.com>
225
226         * Uri.cs: Unix absolute path should not be valid on Windows.
227
228 2007-11-13  Zoltan Varga  <vargaz@gmail.com>
229
230         * UriIdnScope.cs: Compile this in the 2.0 profile as well as this is a NET 3.5 type.
231
232 2007-11-06  Sebastien Pouliot  <sebastien@ximian.com>
233
234         * Uri.cs: Revert monodoc hack from r53093 since bug #319550 (old
235         #76725) has been fixed (around 2006-05-21).
236
237 2007-11-06  Gert Driesen  <drieseng@users.sourceforge.net>
238
239         * UriBuilder.cs: Fixed regression introduced by patch for bug
240         #323247: always initialize UriBuilder.Query to zero-length string.
241         On 2.0 profile, do not initialize query to zero-length string when
242         Fragment is set. Remove extra tabs.
243
244 2007-11-04  Jensen Somers <jensen.somers@gmail.com>
245
246         * UriBuilder.cs (ToString): Added Fragment property to the
247         return string.
248         
249         (Fragment, Query): Properties are no longer set to an empty
250         string from version 2.0 and up.
251
252 2007-11-02  Miguel de Icaza  <miguel@novell.com>
253
254         * Uri.cs (AppendQueryAndFragment): Unescape the query with
255         excludeSpecial = false.  See bug #320614.
256
257         Unlike the patch on that bug, this only unescapes the query and
258         not the Path.   This keeps our existing tests working. 
259
260 2007-09-29  Miguel de Icaza  <miguel@novell.com>
261
262         * Uri.cs (ToString, MakeRelativeUri): refactor some code in
263         ToString to be reusable (to append the query string and the
264         fragment) by MakeRelativeUrl.
265
266         This fixes the MakeRelativeUrl stuff, but the tests can not be
267         used just yet because we fail with stuff like: 
268
269                 new Uri ("", UriKind.Relative)
270
271         (Parse): when parsing absolute filenames, check if the
272         UriKind is Relative, and if so, make the isAbsoluteUri false, to
273         ensure that the upper layers do not abort with relative Uris that
274         happen to be "/foo" for example.
275
276         Take an UriKind property to allow for proper checking and parsing
277         depending on the context requested by the caller. 
278
279         Allows empty strings to be relative Uris as well.
280
281         Do checking when we have schema:// that the parsing is not for a
282         UriKind.Relative, otherwise throw an exception. 
283
284         (Authority, HostNameType, IsDefaultPort, IsFile, IsLoopback,
285         PathAndQuery, DnsSafeHost): They all require absolute uris.
286
287         * UriKind.cs: make internal for 1.0
288         
289 2007-09-05  Marek Habersack  <mhabersack@novell.com>
290
291         * UriTypeConverter.cs: conversion from string should be possible
292         for both relative and absolute URIs.
293         Conversion to a string or an InstanceDescriptor must not assume
294         that the uri is absolute.
295         ConvertTo must pass the uri kind to the constructor used in
296         InstanceDescriptor.
297
298 2007-08-01  Atsushi Enomoto  <atsushi@ximian.com>
299
300         * Uri.cs, UriParser.cs : implemented InitializeAndValidate() and
301           IsWellFormedOriginalString().
302           IsWellFormedUriString() is already implemented.
303
304 2007-07-06  Alan McGovern  <amcgovern@novell.com>
305
306         * Uri.cs : The URI string should be whitespace trimmed before
307         parsing. The original string is untouched. Fixes #81960.
308
309 2007-07-06  Atsushi Enomoto  <atsushi@ximian.com>
310
311         * UriIdnScope.cs : new file (for net_2_1 profile).
312
313 2007-06-30  Miguel de Icaza  <miguel@novell.com>
314
315         * Uri.cs (GetLeftPart): If the URI is relative this method throws
316         InvalidOperationException. 
317
318         (ToString): do not use GetLeftPart here, instead escape the path. 
319
320         (Parse): For relative uris, keep the string as the path.
321
322 2007-06-30  Gert Driesen  <drieseng@users.sourceforge.net>
323
324         * Uri.cs: Canonicalize is only obsolete from 2.0 onward. Fixed line
325         endings.
326
327 2007-04-18  Igor Zelmanovich  <igorz@mainsoft.com>
328
329         * Uri.cs: added MonoNotSupported attributes.
330
331 2007-04-16  Atsushi Enomoto  <atsushi@ximian.com>
332
333         * Uri.cs : in Uri(baseUri,relativeUri,noEscape), relativeUri could
334           contain a URI scheme. In such cases the relativeUri could be still
335           relative (i.e. not always equivalent to absolute). Fixed bug #81382.
336
337 2007-03-05  Peter Dettman  <peter.dettman@iinet.net.au>
338
339         * Uri.cs: This patch straightens out Equals/GetHashCode for the
340         Uri class: 
341
342         - GetHashCode gives sensible values for relative Uri's.
343         - Uri's that compare equal will give same hashcode.  
344         - operator == now uses Equals.
345
346         All existing tests still pass, and I have added some extra test
347         cases specifically for Equals/GetHashCode on relative Uri's
348         (included in patch).
349
350 2007-01-22  Miguel de Icaza  <miguel@novell.com>
351
352         * Uri.cs (MakeRelativeUri): implement, copy most of the code from
353         MakeRelative. 
354         
355         (EscapeUriString, EscapeDataString): Implement stuff
356         needed by apps in Moma.
357
358 2006-12-07  Vladimir Krasnov  <vladimirk@mainsoft.com>
359
360         * Uri.cs: implemented UnescapeDataString method
361
362 2006-09-28  Andrew Skiba  <andrews@mainsoft.com>
363
364         * UriParser.cs: TARGET_JVM
365         * UriFormatException.cs: MonoTODO
366
367 2006-08-01  Atsushi Enomoto  <atsushi@ximian.com>
368
369         * Uri.cs : don't compare UserInfo in Equals() and op_Equality().
370           Fixed a bug commented in #78799.
371
372 2006-07-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
373
374         * Uri.cs: update Obsolete msg.
375
376 2006-06-05  Atsushi Enomoto  <atsushi@ximian.com>
377
378         * Uri.cs : revert the previous change as it caused UriTest.
379           Constructors(#rel2a). ToString() for SourceString should be
380           enough for lame users.
381
382 2006-05-13  Atsushi Enomoto  <atsushi@ximian.com>
383
384         * Uri.cs : sometimes OriginalString was null. Fixed bug #78374.
385           Actually this property is LAMESPEC. Never use it.
386
387 2006-04-28  Atsushi Enomoto  <atsushi@ximian.com>
388
389         * Uri.cs : Patch by pawel.sakowski@mind-breeze.com (bug #77382).
390           Reduce object allocation and avoid culture-sensitive comparison.
391
392 2006-03-11  Miguel de Icaza  <miguel@novell.com>
393
394         * Uri.cs: Pragma disable warning 612 (Obsolete methods are being
395         used by us internally).
396
397         Ponder: should we instead move our methods to use new versions of
398         the Obsoleted ones?
399
400 2006-02-21  Atsushi Enomoto  <atsushi@ximian.com>
401
402         * Uri.cs : seems like Uri opreator == and != are case sensitive.
403
404 2006-02-19  Raja R Harinath  <harinath@gmail.com>
405
406         * Uri.cs (InternalEquals): New helper.
407         (Equals, operator ==): Use it.
408         (operator !=): Likewise.  Fix to actually compare operands.
409
410 2006-02-14  Atsushi Enomoto  <atsushi@ximian.com>
411
412         * Uri.cs : implemented op_Equality and op_Inequality.
413
414 2006-02-14  Ankit Jain  <jankit@novell.com>
415
416         * Uri.cs (Uri.EnsureAbsoluteUri): New. Throws exception if its not an
417         absolute uri.
418         (Uri.Parse): Set isAbsoluteUri to false, if the address is not absolute.
419         All properties other than OriginalString, IsAbsoluteUri & UserEscaped
420         throw exception for relative address.
421
422 2005-11-25  Sebastien Pouliot  <sebastien@ximian.com> 
423
424         * DefaultUriParser.cs: Added an internal default parser because (a)
425         UriParser is abstract and (b) MS doesn't always use the new parser
426         classes :(
427         * Uri.cs: Implemented Compare method. Added some FIXME.
428         * UriParser.cs: Implemented GetComponents and IsBaseOf methods. 
429         Changed parsers to point to the new DefaultUriParser.
430
431 2005-11-15  Sebastien Pouliot  <sebastien@ximian.com> 
432  
433         * Uri.cs: Temporary fix for monodoc (which current Uri system won't
434         work under 2.0).
435
436 2005-11-15  Sebastien Pouliot  <sebastien@ximian.com>
437
438         * FileStyleUriParser.cs: New. 2.0 Uri parser class.
439         * FtpStyleUriParser.cs: New. 2.0 Uri parser class.
440         * GenericUriParser.cs: New. 2.0 Uri parser class.
441         * GopherStyleUriParser.cs: New. 2.0 Uri parser class.
442         * HttpStyleUriParser.cs: New. 2.0 Uri parser class.
443         * LdapStyleUriParser.cs: New. 2.0 Uri parser class.
444         * NetPipeStyleUriParser.cs: New. 2.0 Uri parser class.
445         * NetTcpStyleUriParser.cs: New. 2.0 Uri parser class.
446         * NewsStyleUriParser.cs: New. 2.0 Uri parser class.
447         * Uri.cs: Lots of small fixes for both 1.x and 2.0. Some *big* bugs
448         in 1.x (fixed in 2.0) aren't fixed for Mono (and probably never will).
449         This class still needs to be refactored to be usable with the new
450         parsers.
451         * UriParser.cs: New. 2.0 Uri parser base class.
452
453 2005-11-14  Atsushi Enomoto  <atsushi@ximian.com>
454
455         * Uri.cs : Unescape(string,bool) should also handle % and ?.
456           In ToString(), unescape query part as well. Fixed bug #76643.
457
458 2005-10-21  Atsushi Enomoto  <atsushi@ximian.com>
459
460         * UriBuilder.cs : ToString() should not add duplicate '/' before path.
461           Fixed bug #76501. Patch by Hubert Fongarnand + modified a bit.
462
463 2005-10-18  Sebastien Pouliot  <sebastien@ximian.com>
464
465         * UriTypeConverter.cs: New. Implemented (2.0).
466
467 2005-10-17  Sebastien Pouliot  <sebastien@ximian.com>
468
469         * GenericUriParserOptions.cs: New. 2.0 enum.
470         * UriBuilder.cs: Port == -1 is valid (default) in 2.0. Default name
471         is "localhhost" (not loopback) in 2.0. Fixed case where the Password
472         property could be null (instead of String.Empty).
473         * UriComponents.cs: New. 2.0 enum.
474         * UriFormat.cs: New. 2.0 enum.
475         * UriFormatException.cs: Added comments about GetObjectData.
476         * UriKind.cs: New. 2.0 enum.
477         * UriPartial.cs: Added Query value for 2.0.
478
479 2005-08-16  Daniel Drake  <dsd@gentoo.org>
480
481         * Uri.cs: Various parsing fixes from bug #75144.
482
483 2005-07-09  Gert Driesen  <drieseng@users.sourceforge.net>
484
485         * Uri.cs: Modified fix for bug #71053 to match both MS.NET 1.x and
486         2.0 behaviour. Parse method is no longer used on MS.NET 2.0, marked 
487         obsolete.
488
489 2005-07-09  Gert Driesen  <drieseng@users.sourceforge.net>
490
491         * Uri.cs: in .NET 2.0, port number should be valid UInt16 instead of
492         UInt32. If outcome of parsing is -1, do not consider this to be the
493         default port.
494
495 2005-07-08  Daniel Drake  <dsd@gentoo.org>
496
497         * Uri.cs: Allow descent multiple times below root. Fixes bug #71053.
498
499 2005-07-02  Daniel Drake  <dsd@gentoo.org>
500
501         * Uri.cs: HexUnescape() should only work on single-byte escape
502         sequences, ala HexEscape(). However, we still want to handle multi-byte
503         sequences internally, so introduce a more correct implementation of
504         multi-byte unescaping, HexUnescapeMultiByte(). Fixes bug #74872.
505
506 2005-06-11 Gert Driesen <drieseng@users.sourceforge.net>
507
508         * Uri.cs: Domain address might have trailing period to indicate
509         that the domain name is fully qualified. Fixes bug #75230.
510
511 2005-06-02 Gert Driesen <drieseng@users.sourceforge.net>
512
513         * Uri.cs: throw UriFormatException if URI starts with colon.
514         Fixed bug #75124.
515
516 2005-05-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
517
518         * Uri.cs:
519         (EscapeString): no need to turn the string into a char[] when calling
520         GetBytes.
521
522 2005-03-20 Joshua Tauberer <tauberer@for.net>
523
524         * Uri.cs: Some pedantic changes to the text of a few exceptions.
525
526 2005-03-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
527
528         * Uri.cs: when unescaping in stages, handle the case when the next
529         substring is not a escaped sequence or the string ends. Fixes bug
530         #73316.
531
532 2005-01-20  Miguel de Icaza  <miguel@ximian.com>
533
534         * Uri.cs: Set the UriSchemNews port default to 119 as well.
535         Fixes bug #71050.
536
537         When dealing with fragments use the `dontEscape' flag passed to
538         the Uri constructor to decide whether the fragment must or must
539         not be escaped, fixes 71051.
540
541 2004-06-22  Atsushi Enomoto  <atsushi@ximian.com>
542
543         * Uri.cs : Such ctor arg string that starts with "//" should be 
544           regarded as a local file path that will be condensed to single "/",
545           so handle such path differently under Windows and under *nix.
546           Since '\\' is a valid path character on Unix, so we should not
547           replace it with '/' in LocalPath.
548
549 2004-06-17  Jackson Harper  <jackson@ximian.com>
550
551         * Uri.cs: Use invariant culture.
552         
553 2004-06-16  Atsushi Enomoto  <atsushi@ximian.com>
554
555         * Uri.cs : Fixed LocalPath. In that condition, path is always UNC.
556
557 2004-06-16  Atsushi Enomoto  <atsushi@ximian.com>
558
559         * Uri.cs : Reimplemented HexUnescape() (It was too broken to handle
560           multi-byte utf-8 characters.)
561
562 2004-06-11  Atsushi Enomoto  <atsushi@ximian.com>
563
564         * Uri.cs :
565           - We don't have to mind '\\'.
566           - Fixed bug #58301. When path starts with "///" and not more than
567             "////" and not "///*:", handle it as unix path and set Host as
568             empty string. In absolute path case, port should not be parsed
569             and LocalPath should start with '/'.
570           - Handle fragment in prior to path. 
571
572 2004-06-11  Atsushi Enomoto  <atsushi@ximian.com>
573
574         * Uri.cs : Handle Windows UNC. Now we could simplify Parse(). Don't
575           escape windows path twice. Check scheme name as defined in RFC2396.
576
577 2004-06-11  Atsushi Enomoto  <atsushi@ximian.com>
578
579         * Uri.cs : Reverted some changes. '#' should be handled when the input
580           string is NOT raw file path. So handle raw file paths differently.
581           (right now except for Windows UNC).
582           Cache LocalPath and don't compute every time.
583
584 2004-06-10  Atsushi Enomoto  <atsushi@ximian.com>
585
586         * Uri.cs : Don't escape '#' in file URI paths. This fixes bug #47691.
587           Some code simplification.
588
589 2004-06-09  Atsushi Enomoto  <atsushi@ximian.com>
590
591         * Uri.cs : 
592           - Now Parse() is properly implemented. If overriden, the overriding
593             Parse() is used _instead of_ this class's parsing logic.
594           - AbsoluteUri does not escape URI string at all.
595           - ToString() should unescape Query. But should not unescape fragment.
596             And all all parts should be unescaped individually to keep ? and #.
597           - In relative .ctor(), handle Windows UNC as an absolute file URI.
598           - In some cases, hosts and paths were not properly escaped in
599             relative .ctor().
600           - Removed unused isWindowsPath.
601           - Escape Query.
602         * UriBuilder.cs : Fragment and Query aren't escaped when they are set.
603
604 2004-05-12  Dick Porter  <dick@ximian.com>
605
606         * Uri.cs: Reduce(string) is not in the public API.
607
608 2004-04-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
609
610         * UriBuilder.cs: ignore empty Query. Fixes bug #57082.
611
612 2004-03-21  Jackson Harper  <jackson@ximian.com>
613
614         * Uri.cs: Equals should be case insensitive for all parts except
615         the path.
616
617 2004-02-11  Jackson Harper  <jackson@ximian.com>
618
619         * Uri.cs: If we are sure we have a windows path use \ instead of
620         / for directory separating.
621         
622 2004-02-11  Jackson Harper  <jackson@ximian.com>
623
624         * Uri.cs: If the relative uri passed to Uri (base_uri,
625         relative_uri) is an absolute uri do not combine the uris. The base
626         uri is dropped.
627         
628 2004-02-10  Jackson Harper  <jackson@ximian.com>
629
630         * Uri.cs: Preserve the trailing / if there is one when reducing
631         paths.
632         
633 2004-02-08  Jackson Harper  <jackson@ximian.com>
634
635         * Uri.cs: IsLoopback has different behavoir then
636         IPAddress::IsLoopback. It will only return true for ipv4 addresses
637         if they are 127.0.0.1, localhost, or loopback. 
638         
639 2004-02-06  Jackson Harper  <jackson@ximian.com>
640
641         * Uri.cs: Do not escape querys or fragements. Only reduce certain
642         schemes.
643         
644 2004-02-06  Jackson Harper  <jackson@ximian.com>
645
646         * Uri.cs: Use UTF8 characters when escaping. Reduce paths. This
647         method is taken from System.Web.Utils.UrlUtils.
648         * UriBuilder.cs: Do not escape fragments or queries, but do a utf8
649         switch on them. Do not prepend a "/" to Paths. Do not use
650         IPEndPoint to determine if a port is valid, UriBuilder allows
651         ports to be any positive integer, IPEndPoint does not. Use the
652         ToString () method for generate a uri in get_Uri. Only set the
653         port in ToString () if it is greater then 0.
654         
655 2004-02-05  Jackson Harper  <jackson@ximian.com>
656
657         * UriBuilder.cs: Do not call Uri::ToString for uri builders
658         ToString. UriBuilder's ToString is a little more primitive.
659         
660 2004-01-12  Atsushi Enomoto  <atsushi@ximian.com>
661
662         * Uri.cs : should not escape already-escaped string (Patch by 
663           Boris Kirzner).  File LocalPath should unespace return value.
664           ToString() should be unescaped only when it is not an UNC path.
665           (UNC looks not to be unescaped).
666
667 2004-01-06  Atsushi Enomoto  <atsushi@ximian.com>
668
669         * Uri.cs : quick fix on local file relative uri.
670
671 2004-01-06  Atsushi Enomoto  <atsushi@ximian.com>
672
673         * Uri.cs : Fixed Parse(). Should not allow relative URIs.
674
675 2004-01-05  Atsushi Enomoto  <atsushi@ximian.com>
676
677         * Uri.cs : fixed IsBadFileSystemCharacter() to reject more characters
678           based on MS.NET experiment.
679
680 2003-12-08  Atsushi Enomoto  <atsushi@ximian.com>
681
682         * Uri.cs : more fixes. More presice UNC handling, opaque part 
683           handling for non-standard uri (e.g. urn:go-mono.com), ToString()
684           fix (that returns AbsoluteUri, which is not escaped any more),
685           and so on.
686
687 2003-12-08  Atsushi Enomoto  <atsushi@ximian.com>
688
689         * Uri.cs : Several fixes, including Unc problem, Host and LocalPath
690           fixes, null reference check for .ctor(Uri, string). This fixes
691           bug #51844.
692
693 2003-12-04  John Luke  <jluke@cfl.rr.com>
694         
695         * Uri.cs: applied patch from Chris Masters <neeeeeep@bigpond.com>
696         fixes bug #51510.  ftp uses port 21, https uses 443 and 
697         parse the host name properly for UNC path.
698         
699 2003-10-10  Pedro Martínez Juliá  <yoros@wanadoo.es>
700
701         * Uri.cs: fixed a problem with some URIs like file://some_file.txt
702         It used to return "/some_file.txt/" instead of "some_file.txt" in
703         LocalPath. Fix handling of full path files and SMB addresses.
704
705 2003-08-12  Duncan Mak  <duncan@ximian.com>
706
707         * Uri.cs (constructor): Properly implement RFC 2396, Par. 5.2,
708         part 6a, which says:
709         
710                 In other words, any characters after the last (right-most)
711                 slash character, if any, are excluded.
712
713         Previously, when merging "a://foo.com/foo" with "bar", we yield
714         the result "a://foo.com/foobar", instead of the correct
715         "a://foo.com/bar".
716
717         This fixes bug #45614.
718
719 2003-07-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
720
721         * SRDescriptionAttribute.cs: Moved from System.Diagnostics directory
722
723 2003-07-18  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
724
725         * Uri.cs: Added MonoTODO'd members, implemented member, fixed signature
726
727 2003-05-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
728
729         * TempFileCollection.cs: fixed the build under windows.
730         
731 2003-05-07  Ben Maurer <bmaurer@users.sourceforge.net>
732         * Uri.cs: Checked in code to fix bug #41998. Some
733         code from Ian MacLean.
734         
735 2003-03-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
736
737         * Uri.cs: reworked Segment. Small fix in MakeRelative. Throw exception
738         in Parse when host length is 0 and the Uri is not a file.
739
740 2003-03-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
741
742         * Uri.cs:
743         (CheckSchemeName): fixed bug #28549. Thanks to Eric Runquist.
744
745 2003-02-01  Miguel de Icaza  <miguel@ximian.com>
746
747         * Uri.cs (LocalPath): Local path should return un-escaped
748         strings.  Patch from tum@veridicus.com (Thong (Tum) Nguyen)
749
750 2002-09-16  Duncan Mak  <duncan@ximian.com>
751
752         * Uri.cs (GetObjectData):
753         (Uri): The key should be "AbsoluteUri", not "Uri".
754
755 2002-09-16  Miguel de Icaza  <miguel@ximian.com>
756
757         * Uri.cs: Implemented a few of the protected methods. 
758
759 Mon Jun 17 15:05:05 CEST 2002 Paolo Molaro <lupus@ximian.com>
760
761         * Uri.cs: workaround for mcs bug.
762
763 2002-05-28  Lawrence Pit <loz@cable.a2000.nl>
764
765         * Uri.cs: Implemented ctor UriTest (baseUri, relativeUri)
766         * Uri.cs: Fixed bug in internal method GetSchemeDelimiter
767
768 2002-05-22  Lawrence Pit <loz@cable.a2000.nl>
769
770         * Uri.cs: implemented MakeRelative, improved GetLeftPart
771         * UriBuilder.cs: removed Serializable attribute
772         * UriHostNameType.cs: added Basic
773
774 2002-05-12  Lawrence Pit <loz@cable.a2000.nl>
775
776         * Uri.LocalPath and Uri.AbsoluteUri modified to support both w32 
777         and *nix filepaths
778
779 2002-05-09  Lawrence Pit <loz@cable.a2000.nl>
780
781         * Uri.GetLeftPart fixed for mailto and news schemes.
782
783 2002-05-05  Lawrence Pit <loz@cable.a2000.nl>
784
785         * UriBuilder.cs: Implemented.
786         
787         * Uri.cs: Complete new reimplementation. 
788
789 2002-02-08  Duncan Mak  <duncan@ximian.com>
790
791         * UriFormatException.cs: Removed TODO attribute, the docs are
792         probably wrong here. In any case, this code compiles and should work.
793
794 2002-01-31  Duncan Mak  <duncan@ximian.com>
795
796         * UriFormatException.cs: Added bits for serialization.
797
798 2002-01-05  Ravi Pratap  <ravi@ximian.com>
799
800         * ChangeLog : Add to this directory.
801
802         * Uri.cs, UriFormatException.cs : Decorate bits with MonoTODO attribute.