2010-03-14   Gisle Aas <gisle@ActiveState.com>

   Release 1.53

   Ville Skyttä (6):
      Remove unneeded execute permissions.
      Add $uri->secure() method.
      Documentation and comment spelling fixes.
      Fix heuristics when COUNTRY is set to "gb".
      Use HTTP_ACCEPT_LANGUAGE, LC_ALL, and LANG in country heuristics.
      POD linking improvements.

   Michael G. Schwern (2):
      Rewrite the URI::Escape tests with Test::More
      Update URI::Escape for RFC 3986

   Gisle Aas (1):
      Bump MIN_PERL_VERSION to 5.6.1 [RT#54078]

   Salvatore Bonaccorso (1):
      Suppress wide caracters warnings in iri.t [RT#53737]



2009-12-30   Gisle Aas <gisle@ActiveState.com>

   Release 1.52

   Gisle Aas (7):
      Encode::decode('UTF-8',...) with callback implemented in 2.39
      %%host%% hack can be removed when URI::_server::as_iri works
      Don't croak on IRIs that can't be IDNA encoded
      IDNA roundtrip test on wrong variable
      Check behaviour when feeded URI constructor Latin-1 chars
      Add some test examples from draft-duerst-iri-bis.txt
      Need to recognize lower case hex digits as well



2009-11-23   Gisle Aas <gisle@ActiveState.com>

   Release 1.51

   Fixup a test that was broken on Windows



2009-11-21   Gisle Aas <gisle@ActiveState.com>

   Release 1.50

   The main news in this release is the initial attempt at providing
   support to IRIs.  URI objects now support the 'as_iri' and 'ihost'
   methods.

   Gisle Aas (28):
      Added more tests for setting IPv6 addresses using the host method
      Document how the host methods deal with IPv6 addresses
      A "test case" to start IDNA prototype from
      Escape IDNA hostnames
      Introduce the as_unicode method
      Make as_unicode undo punycode for server URLs
      An IRI class might be helpful (RFC 3987)
      Must punycode each part of the domain name separately
      Include initial private Punycode module
      Get URI::_punycode working
      punycode of plain ascii should not edit with "-"
      Some more tests from RFC 3492
      Add private URI::_idna module based on encodings/idna.py
      Start using URI::_idna for encoding of URIs
      Avoid various use of undef warnings
      Fix test affected by IDNA
      Keep reference to IDNA::Punycode in the URI::_punycode docs
      Ensure upgraded strings as input
      Update manifest with the new idna/punycode files
      Rename as_unicde to as_iri
      draft-duerst-iri-bis-07: The proposed RFC 3987 update
      Load Encode when its used
      Rename host_unicode as ihost
      Add basic iri test
      Hack to make as_iri turn A-labels into U-labels
      Make as_iri leave escapes not forming valid UTF-8 sequences
      Merge branch 'iri'
      Don't include RFCs in the cpan tarball

   Michael G. Schwern (3):
      Fix != overloading to match ==
      Note that mailto does not contain a host() and this is not a bug.
      Strip brackets off IPv6 hosts [RT#34309]



2009-08-14   Gisle Aas <gisle@ActiveState.com>

   Release 1.40

   Even stricter test for working DNS, 2nd try.



2009-08-13   Gisle Aas <gisle@ActiveState.com>

   Release 1.39

   Even stricter test for working DNS, hopefully this gets rid of the rest of
   the heuristics.t failures.



2009-05-27   Gisle Aas <gisle@ActiveState.com>

   Release 1.38

   Ville Skyttä (3):
      Spelling fixes.

   Tatsuhiko Miyagawa (1):
      skip DNS test if wildcard domain catcher (e.g. OpenDNS) is there

   Gisle Aas (1):
      Avoid "Insecure $ENV{PATH} while running with -T switch" error with perl-5.6.



2008-06-16   Gisle Aas <gisle@ActiveState.com>

   Release 1.37

   Gisle Aas (1):
      Support ";" delimiter in $u->query_form

   Jan Dubois (1):
      We get different test result when www.perl.com doesn't resolve.

   Kenichi Ishigaki (1):
      URI::Heuristic didn't work for generic country code [RT#35156]



2008-04-03   Gisle Aas <gisle@ActiveState.com>

   Release 1.36

   <gerard@tty.nl>: Escape Unicode strings as UTF-8.

   Bjoern Hoehrmann <derhoermi@gmx.net>: fixed URL encoded data: URLs

   GAAS: uri_escape_utf8() now exported by default as documented.

   BDFOY: Test fails with Business::ISBN installed [RT#33220]

   JDHEDDEN: lc(undef) reports warning in blead [RT#32742]

   GEOFFR: add some tests for gopher URIs [RT#29211]



2004-11-05   Gisle Aas <gisle@ActiveState.com>

   Release 1.35

   Documentation update.

   Simplified uri_escape_utf8 implementation.  No need to load the
   Encode module.  Contributed by Alexey Tourbin.

   Work around bug in perl-5.6.0 that made t/query.t fail.



2004-10-05   Gisle Aas <gisle@ActiveState.com>

   Release 1.34

   URI->canonical will now always unescape any escaped unreserved
   chars.  Previously this only happened for the http and https scheme.
   Patch contributed by Eric Promislow <ericp@ActiveState.com>.



2004-09-19   Gisle Aas <gisle@ActiveState.com>

   Release 1.33

   URI::file->canonical will now try to change the 'authority'
   to the default one.

   Fix heuristic test.  Apparently www.perl.co.uk is no more.



2004-09-07   Gisle Aas <gisle@ActiveState.com>

   Release 1.32

   Introduce $URI::file::DEFAULT_AUTHORITY which control what
   authority string to use for absolute file URIs.  Its value
   default to "" which produce file URIs that better interoperates
   with other implementations.  The old mapping behaviour can be
   requested by setting this variable to undef.



2004-06-08   Gisle Aas <gisle@ActiveState.com>

   Release 1.31

   Added uri_escape_utf8() function to URI::Escape module.

   Fixed abs/rel behaviour for sip: URIs.  Fixed by
   Ville Skyttä <ville.skytta@iki.fi>.

   Avoid croaking on code like $u->query_form(a => { foo => 1 }).
   It will still not really do anything useful.



2004-01-14   Gisle Aas <gisle@ActiveState.com>

   Release 1.30

   Documentation fixes by Paul Croome <Paul.Croome@softwareag.com>.



2004-01-02   Gisle Aas <gisle@ActiveState.com>

   Release 1.29

   Added support for the ldapi: and ldaps: schemes.
   The ldaps: implementation was contributed by Graham Barr.

   Added support for mms: scheme.  Contributed by
   Dan Sully <daniel@electricrain.com>.



2003-11-30   Gisle Aas <gisle@ActiveState.com>

   Release 1.28

   The query_param_delete() method was not able to delete
   the last parameter from a form.  Similar problem existing
   when deleting via query_param().  Patch by <awk@awks.org>.

   The query_form() method now allow an array or hash
   reference to be passed to set the value.  This makes it
   possible to set the value to an empty form, something that
   the old API did not allow.

   The query_keywords() method now allow an array reference
   to be passed to set the value.



2003-10-06   Gisle Aas <gisle@ActiveState.com>

   Release 1.27

   The URI module is now less strict about the values accepted
   for gopher_type attribute of gopher:-URLs.  Patch suggested
   by the Net::Gopher author; William G. Davis.



2003-10-03   Gisle Aas <gisle@ActiveState.com>

   Release 1.26

   Help Storable deal with URI objects.  Patch contributed
   by <talby@trap.mtview.ca.us>.

   Fix failure under OS/2.  Patch contributed by Ilya Zakharevich.



2003-08-18   Gisle Aas <gisle@ActiveState.com>

   Release 1.25

   Allow literal '@' in userinfo.  If there are multiple '@' chars
   in the 'authority' component use the last (instead of first) as
   the 'userinfo' delimiter.

   Make URI->query_form escape '[' and ']'.  These chars where added
   to the reserved set in RFC 2732.  This also matches MSIE behaviour.

   Silence warning from 'sip' support class.



2003-07-24   Gisle Aas <gisle@ActiveState.com>

   Release 1.24

   Relative URIs that start with the query string directly (i.e. "?q")
   are now absolutized as specified in rfc2396bis.  See:
   http://www.apache.org/~fielding/uri/rev-2002/issues.html#003-relative-query
   
   Added URI::Split module.  It's a lightweight module that can be
   used to parse and compose URI string to/from its component parts.

   The rel() method will now work from canonical URIs.  That allow it
   to extract a relative URI in more cases.



2003-01-01   Gisle Aas <gisle@ActiveState.com>

   Release 1.23

   Support for tn3270 URIs.

   Use anchored DNS lookups in URI::Heuristic as suggested
   by Malcolm Weir <malc@gelt.org>.

   Delay calculation of MY_COUNTRY() in URI::Heuristic.
   Patch by Ed Avis <ed@membled.com>.

   Make test suite work for UNC paths.
   Patch by Warren Jones <wjones@fluke.com>.



2002-09-02   Gisle Aas <gisle@ActiveState.com>

   Release 1.22

   Added URI::QueryParam module.  It contains some
   extra methods to manipulate the query form
   key/value pairs.

   Added support for the sip: and sips: URI scheme.
   Contributed by Ryan Kereliuk <ryker@ryker.org>.



2002-08-04   Gisle Aas <gisle@ActiveState.com>

   Release 1.21

   Restore perl-5.004 and perl-5.005 compatibility.



2002-07-18   Gisle Aas <gisle@ActiveState.com>

   Release 1.20

   Direct support for some new schemes urn:, urn:isbn:,
   urn:oid:, rtsp:, and rtspu:.  The rtsp support was
   contributed by Matt Selsky <selsky@columbia.edu>.

   Documentation fix for $URI::ABS_REMOTE_LEADING_DOTS.
   CPAN-RT-Bug #1224.

   The host for URI::file was not unescaped.
   Patch by Ville Skyttä <ville.skytta@iki.fi>.



2002-05-09   Gisle Aas <gisle@ActiveState.com>

   Release 1.19

   URI::Heuristic will guess better on strings
   like "123.3.3.3:8080/foo".  It used to think that
   the numbers before ":" was a scheme.

   URI::WithBase will not keep the full history of
   any base URI's base URI etc.  This used to make
   these objects grow into to monsters for some
   web spiders.

   URI::URL->new("foo", "bar")->base used to return
   a "URI" object.  Now an URI::URL object is returned
   instead.

   Deal properly with file:///-URIs.



2001-12-30   Gisle Aas <gisle@ActiveState.com>

   Release 1.18

   Added support for ssh: URIs.
   Contributed by Jean-Philippe Bouchard <jeanphil@sitepak.com>

   URI::Escape: Make sure cache is not set when the RE
   wouldn't compile.  Fix suggested by <me-01@ton.iguana.be>.
   Applied patch as suggested by Randal L. Schwartz.

   Don't try to come up with the e-mail address of the user as
   the anonymous password.
   Patch by Eduardo Pérez <eperez@dei.inf.uc3m.es>.



2001-09-14   Gisle Aas <gisle@ActiveState.com>

   Release 1.17

   Fixed unescape of %30 in $http_uri->canonical.

   Fixed test failure for t/heuristic.t on cygwin.

   Fixed warning noise from t/old-base.t on bleadperl.
   Perl now warns for pack("c*", $i) when $i > 127.



2001-08-27   Gisle Aas <gisle@ActiveState.com>

   Release 1.16

   URI::Escape::uri_escape default has changed.  Reserved
   characters are now escaped when no second argument is
   provided.

   The perl5.004 backwards compatibility patching taking place
   in the Makefile.PL should now work for MacPerl.
   Patch by KIMURA Takeshi <kim@ga2.so-net.ne.jp>.

   URI::WithBase now overrides the can() method and delegate it to
   the URI member.  This also affects the URI::URL behaviour.
   Patch by Sean M. Burke <sburke@cpan.org>.



2001-07-19   Gisle Aas <gisle@ActiveState.com>

   Release 1.15

   [This release was made just to document the changes that went
    into the (unreleased) URI-1.13 but never made it into this
    change-log.  There is no functional difference between the 1.14
    and 1.15 release.]



2001-07-18   Gisle Aas <gisle@ActiveState.com>

   Release 1.14

   The module failed on perl5.004 because \z is not supported
   in regexps.  The Makefile.PL will now try to patch the module
   to be compatible.



2001-05-15   Gisle Aas <gisle@ActiveState.com>

   Release 1.13 (never made it to CPAN)

   URI.pm now conforms to RFC 2732 which specify how literal IPv6
   addresses are to be included in URLs.

   URI/Escape now allows "/" in the $unsafe pattern argument.



2001-04-23   Gisle Aas <gisle@ActiveState.com>

   Release 1.12

   URI->new($u, $scheme) does no longer fail if given a badly
   formatted scheme string.

   URI::WithBase's clone and base method was basically just
   broken.  This also affected the URI::URL subclass.
   The clone() method did not copy the base, and updating
   the base with the base method always set it to "1".



2001-02-27   Gisle Aas <gisle@ActiveState.com>

   Release 1.11

   The t/heuristic.t test relied on the fact that 'www.perl.no'
   was not registered in DNS.  This is no longer true.
   The penguins at Bouvet Island will hopefully be ignorant
   of Perl forever.



2001-01-10   Gisle Aas <gisle@ActiveState.com>

   Release 1.10

   The $u->query_form method will now escape spaces in
   form keys or values as '+' (instead of '%20').  This also
   affect the $mailto_uri->header() method.  This is actually
   the wrong thing to do, but this practise is now even
   documented in official places like
   http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4.1
   so we might as well follow the stream.

   URI::Heuristic did not work for domain-names with dashes '-'
   in them.  Fixed.

   Documented that $uri->xxx($1) might not work.



2000-08-16   Gisle Aas <gisle@ActiveState.com>

   Release 1.09

   uri_unescape() did not work when given multiple strings
   to decode.  Patch by Nicholas Clark <nick@ccl4.org>.



2000-08-02   Gisle Aas <gisle@ActiveState.com>

   Release 1.08

   ldap URIs now support _scope() and _filter() methods that
   don't have default values.  Suggested by Graham Barr.

   Incorporated old rejected MSWin32 patch to t/old-base.t.
   Hope it works.



2000-06-13   Gisle Aas <gisle@ActiveState.com>

   Release 1.07

   URI::WithBase (and URI::URL) now support $u->new_abs
   constructor.

   URI::WithBase->new("foo", "URI::URL") bug fixed.



2000-04-09   Gisle Aas <gisle@aas.no>

   Release 1.06

   Clean test/install on VMS.
   Patch by Charles Lane <lane@DUPHY4.Physics.Drexel.Edu>



2000-02-14   Gisle Aas <gisle@aas.no>

   Release 1.05

   QNX file support by Norton Allen <allen@huarp.harvard.edu>.

   Support for rsync:-URI by Dave Beckett <D.J.Beckett@ukc.ac.uk>



1999-08-03   Gisle Aas <gisle@aas.no>

   Release 1.04

   Avoid testing for defined(@ISA) and defined(%class::).  Patch
   by Nathan Torkington <gnat@frii.com>.

   $uri->abs() did wrong when the fragment contained a "?"
   character.

   Typo in URI::ldap spotted by Graham Barr.



1999-06-24   Gisle Aas <gisle@aas.no>

   Release 1.03

   Escape all reserved query characters in the individual components
   of $uri->query_form and $uri->query_keywords.

   Make compatibility URI::URL->new("mailto:gisle@aas.no")->netloc
   work again.



1999-03-26   Gisle Aas <gisle@aas.no>

   Release 1.02

   Added URI::ldap.  Contributed by Graham Barr <gbarr@pobox.com>.

   Documentation update.



1999-03-20   Gisle Aas <gisle@aas.no>

   Release 1.01

   MacOS patches from Paul J. Schinder <schinder@leprss.gsfc.nasa.gov>

   Documentation patch from Michael A. Chase <mchase@ix.netcom.com>



1998-11-19   Gisle Aas <aas@sn.no>

   Release 1.00

   Added new URI->new_abs method

   Replaced a few die calls with croak.



1998-10-12   Gisle Aas <aas@sn.no>

   Release 0.90_02

   Implemented new $uri->host_port method.

   $uri->epath and $uri->equery aliases to make URI::URL
   compatibility easier.



1998-09-23   Gisle Aas <aas@sn.no>

   Release 0.90_01

   New README

   Makefile.PL list MIME::Base64 as PREREQ_PM

   Original $scheme argument not passed to _init() method.

   Automatically add scheme to empty URIs where the scheme
   is required:  URI->new("", "data")

   Documentation update.

   New URI::URL::strict implementation.



1998-09-22   Gisle Aas <aas@sn.no>

   Release 0.09_02

   New internal URI::file::* interface.  Implemented 8.3 mapping
   for "dos".

   Got rid of $URI::STRICT and $URI::DEFAULT_SCHEME

   More documentation.



1998-09-13   Gisle Aas <aas@sn.no>

   Release 0.09_01

   Use version number with underscore to avoid that the CPAN
   indexer hides the URI::URL from libwww-perl that contains
   all the documentation.

   Started to document the new modules.

   URI::file->new() escape fix which allow Mac file names like
   ::.. to be treated as they should (I think).



1998-09-12   Gisle Aas <aas@sn.no>

   Release 0.09

   Included URI::Escape and URI::Heuristic from LWP.  URI::Escape
   updated with new default set of characters to escape (according
   to RFC 2396) and a faster uri_unescape() function.  URI::Heuristic
   updated with a new function that returns an URI object.

   First argument to URI->new is always treated as a string now.

   URI->new("", URI::WithBase("foo:")) now works.  It returns an
   URI::WithBase object.

   Included Roy T. Fielding's URI parsing/abs tests from
   <http://www.ics.uci.edu/~fielding/url/>.  We did in fact agree
   with RFC 2396 on all tests.

   Allow authority "A|" in Win32 file:-URIs to denote A:.  Treat
   escaped chars.



1998-09-10   Gisle Aas <aas@sn.no>

   Release 0.08

   Implemented transformations between various file: URIs and
   actual file names.  New URI::file methods:

       new
       new_abs
       cwd
       file
       dir



1998-09-09   Gisle Aas <aas@sn.no>

   Release 0.07

   Implemented rlogin, telnet and file URLs.

   Implemented URI::WithBase

   Implemented URI::URL emulator (ported old URI::URL test suite)

   Can now use schemes with "-", "+" or "." characters in them.

   $u->scheme will downcase.  $u->_scheme will keep it as it is.

   Configuration variables for $u->abs

   $u->query_form and $u->query_keyword is more careful about escaping
   "+" and "=".

   $u->host unescaped

   $u->_port if you want to bypass $u->default_port

   Can handle news message-ids with embedded "/" now



1998-09-08   Gisle Aas <aas@sn.no>

   Release 0.06

   Implemented gopher URLs

   Implemented ftp URLs

   Second ctor argument can be a plain scheme name.  If it is an
   object, then we use the class of the object as implementor.

   Protect literal % in various places by escaping

   Path segments with parameters are not arrays of class URI::_segment,
   which overloads the stringify operator.

   URI::http->canonical will now unescape unreserved characters.



1998-09-08   Gisle Aas <aas@sn.no>

   Release 0.05

   Implemented news URLs (together with snews/nntp)

   Implemented pop URLs (RFC 2384)

   Can now use '==' to compare if two URI objects are the same or not.

   $u->opaque_part renamed as $u->opaque

   Better canonicalization

   Faster $u->abs (especially for URI that already are absolute)

   $u->query_form will keep more chars unescaped



1998-09-06   Gisle Aas <aas@sn.no>

   Release 0.04

   Implemented mailto:-URLs (specified in RFC 2368)

   Moved query() methods to internal URI::_query mixin class.

   Escape stuff in the media_type field of data:-URLs.



1998-09-06   Gisle Aas <aas@sn.no>

   Release 0.03 based on simplified scalar object.



1998-09-02   Gisle Aas <aas@sn.no>

   Release 0.02 based on perl5.005 and fields.pm



1998-04-10   Gisle Aas <aas@sn.no>

   Release 0.01
