aria2 1.3.0
===========

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

This release adds the ability to specify the output filenames in
BitTorrent downloads and the option to limit overall download speed
and dry run mode which just checks the availability of the remote
file. -i list option can now take new options: select-file and
index-out.  The default behavior of sending HTTP Authorization header
is reverted back to version 1.1.2 style. The bug in
AdaptiveURISelector was fixed.  You can now seed read-only files in
BitTorrent. --file-allocation option can take new parameter
'falloc'. If it is given and you are using newer file systems such as
ext4, btrfs or xfs, large(few GiB) files are allocated almost
instantly. The performance optimization has been done and aria2 runs
more efficiently.

Indonesian, Russian, Italian, Ukrainian, Simplified Chinese, Japanese,
Spanish and Norwegian Nynorsk translations were updated.

Changes
-------

* Added 'falloc' parameter for --file-allocation option.  'falloc'
  allocation mode uses posix_fallocate() system call to allocate file
  on disk.  If you are using newer file systems such as ext4 (with
  extents support), btrfs or xfs, 'falloc' is your best choice. It
  allocates large(few GiB) files almost instantly. Don't use 'falloc'
  with legacy file systems such as ext3 because it takes almost same
  time as 'prealloc' and it blocks aria2 entirely until allocation
  finishes. 'falloc' may not be available if your system doesn't have
  posix_fallocate() system call.

* Added --bt-tracker-interval option to specify the interval between
  tracker requests.  If non-zero value is specified, aria2 uses it and
  ignores the interval value in the response of tracker. If zero is
  specified, aria2 determines the inteval value based on the tarcker
  response and download progress.

* Reduced CPU usage in RarestPieceSelector.

* Reduced CPU usage when hitting download limit/upload limit.

* Changed the default value of --uri-selector option from 'inorder' to
  'feedback'
	
* Included current URI in exception message.
	
* Fixed the bug that AdaptiveURISelector doesn't select any URI when
  all URIs are tested and their timeout is not reached.

* Reuse URIs when all unused URIs run out.

* Removed --direct-file-mapping option and CopyDiskAdaptor.

* Added --dry-run option.  In this mode, aria2 just checks whether
  the remote file is available and doesn't download data. This
  option has effect on HTTP/FTP downloads and BitTorrent downloads
  are canceled in this mode.

* Parse options in -i list using OptionParser.

* Don't reset URI in retry to avoid additional round trips because
  of redirects.	

* Added --index-out option to specify each file path for torrent.  The
  index shown in --show-files option is used to specify which file
  path should be altered. For example, to change the file path with
  index=2, use --index-out=2=aria2.tar.bz2. You can use this option
  multiple times: --index-out=1=aria2.tar.bz2
  --index-out=2=aria2-opt.tar.bz2. The short hand form -O is also
  available. This option can be specified in -i list.

* Added --max-overall-download-limit option.  Now --max-upload-limit
  option is not ignored when --max-overall-upload-limit option has
  non-zero value. aria2 checks download(upload) speed in the order:
  first checks overall speed limit and if it is not exceeded, then
  checks speed limit per download.  Thus you can specify both
  value. For example, set --max-overall-download-limit=1M and
  --max-download-limit=500K to prevent from one download from eating
  all overall speed limit.

* Now select-file can be specified in the uri list(-i list).

* Made the upper value of --max-concurrent-downloads options unlimited.

* Fixed the bug that disk writer is not created even if it shares same
  piece with the preceding file if the length of previous file is 0.

* In BitTorrent, Open files in read-only mode for hash check.  After
  that, re-open file in read/write mode only when the download is
  not finished.	

* Added --http-auth-challenge option.  If it is set to true, aria2
  sends HTTP authorization header only when it is requested by the
  server. If false is set, then authorization header is always sent to
  the server. This is useful for servers that don't respond 401 code
  when authentication is required.  There is an exception: if username
  and password are embedded in URI, authorization header is always
  sent to the server regardless of this option. The default value of
  this option is false.
