aria2 1.3.2 =========== Release Note ------------ This release fixes the bug that prevents certain BitTorrent downloads from finishing and possible segmentation fault when gzip decoding is involved and infinite loop bug if last "0" chunk-size marker is not received in chunked encoding transfer. aria2 now supports WEB-Seeding(HTTP-Seeding) for single file torrent. Ukrainian translation was updated. Changes ------- * Updated Ukrainian translation. * Use url-list (web-seeding) only for single-file torrent. This is basically the same behavior with Metalink file with torrent and URIs. * Fixed the bug that prevents torrent download from finishing. The bug doesn't reveal for all torrents. The torrents affected this bug satisfies ((N+7)/8)%4 == 0 and N%32 != 0 where N is the number of pieces. * Fixed segmentation fault when GZipDecoder::decode() returns 0 byte. * Fixed the bug that causes infinite loop if broken web server returns chunked response without last "0" chunk-size marker and closes connection. * Instantiate properly configured HttpDownloadCommand for non-resumable downloads. * Rewritten bitfield operation functions for efficiently. * Set conditional HAVE_GETADDRINFO true for mingw32. It was accidentally set to false in r1162. * Increase prefixLength for the bucket which doesn't own local node ID when splitting bucket. aria2 1.3.1 =========== Release Note ------------ This release fixes the bug that aria2 wrongly determines that specified share ratio is reached because of miscalculation of upload bytes and the bug that upload limit exceeds the value specified in --seed-ratio option depending on the timing of the execution of SeedCheckCommand. Changes ------- * Updated README * Fixed the bug that upload limit exceeds the value specified in --seed-ratio option depending on the timing of the execution of SeedCheckCommand. * Fixed the bug that removed peer's session upload/download length are counted twice in _cachedTransferStat before it is re-calculated. This affected the calculation of shara ratio, resulting aria2 wrongly determines that specified share ratio is reached. 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.