aria2 1.9.0
===========

Release Note
------------

This release adds Metalink4 support and BitTorrent Local Peer
Discovery.  aria2.changeUri XML-RPC method was added. It enables you
to add/remove URIs to existing downloads dynamically.  We refactored
the code based on profiler results, so aria2 now runs more efficiently
than ever.

Changes
-------

 * Added --reuse-uri option. This option has existed quite long, but
   been hidden.

 * Fixed the bug that filename is percent encoded where it must be
   percent decoded in sendMdtm().

 * Added getServers XML-RPC method.

 * Added 'status' key to the response of getUri XML-RPC method.

 * Added changeUri XML-RPC method.  This method removes/adds URIs
   dynamically.

 * Replaced null or control characters in file path with '_'.  For
   MinGW32 build, additional characters which is not allowed in
   Windows kernel are also replaced. util::detectDirTraversal() now
   returns true if given string contains null or control characters.

 * Discard torrent file if path data in it contains directory
   traversal directives.  Discard metalink:file element in Metalink3
   format if its name attribute contains directory traversal
   directives.  Ignore name attribute of metalink:signature element in
   Metalink3 format if it contains directory traversal directives.

 * Added Metalink4 support. Files with same metaurl are
   grouped and downloaded in one RequestGroup.

 * Added --bt-lpd-interface option to specify the interface to use for
   Local Peer Discovery. LpdMessageDispatcher object now has its own
   socket. LpdMessageReceiver's socket is binded to multicast address
   to only receive multicast packets.

 * Added Local Peer Discovery. It is disabled by default. Use
   --bt-enable-lpd to enable the function.
