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