UriParseComponents is now parsing Uri port as an int.
Improved IPv6 parsing.
Parsing was failing when a port was specified after IPv6 address. ie: "http://[::1]:8080"
Added parameter UriParser to UriParseComponent.
Added UriElements.isAbsoluteUri, isUnixFilePath, isUnc, scopeId.
Setting UriElements.isAbsoluteUri, isUnc, isUnixFilePath, scopeId.
Improved UriParseComponents.
Added Uri.ParseNoException error cases.
Changed to behave as Uri.ParseNoException.
Set isUnc to true for file scheme on windows.
Refactored Uri.ParseNoExceptions to use UriParseComponents.
Fixed missing "/" after reduce of paths ending with "/..".
UriHelper.Reduce visibility is now internal.
Improved Uri.Merge.
Merge is now using UriParseComponents and UriHelper.Reduce.
Added FormatFlag.UserEscaped to Uri.LocalPath.
Fixed UriHelper.Format to unescape surrogate char only when needed.
Format is now setting FormatFlags.HasUriCharactersToNormalize.
On .NET 4.0 and higher avoid unescaping of user escaped Uri.
Uri.Merge ignores on 2.0 base filename when relative has a query.
Added FormatFlag.NoReduce.
Added missing FormatFlag.NoSlashReplace condition.
Added HexUnescapeMultiByte overload with invalidEscape out param.
Invalid escapes are left untouched on .NET 4.0 and higher.
Invalid escapes are left untouched on .NET 4.0 and higher.