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