mirror of
https://github.com/aria2/aria2.git
synced 2024-11-24 10:33:57 +08:00
408 lines
16 KiB
Plaintext
408 lines
16 KiB
Plaintext
aria2 1.10.6
|
||
============
|
||
|
||
Release Note
|
||
------------
|
||
|
||
This release fixes the bug that downloading files larger than 4GB
|
||
fails on 32 bit systems. It also fixes the bug that dht.dat file is
|
||
not saved. The improper use of return value of vsnprintf was fixed,
|
||
which caused segmentation fault when formatting strings more than 1024
|
||
characters long.
|
||
|
||
Please note that since 1.10.0 release, aria2 uses 1 connection per
|
||
host by default and has 20MiB segment size restriction. So whatever
|
||
value you specify using -s option, it uses 1 connection per host. To
|
||
make it behave like 1.9.x, use -x16 -k1M (see
|
||
--max-connection-per-server and --min-split-size option in man
|
||
page). If you specify multiple hosts, aria2 will use all of them and
|
||
open multiple connections.
|
||
|
||
Changes
|
||
-------
|
||
|
||
* Fixed the bug that downloading > 4GB file fails on 32bit systems.
|
||
|
||
* Fixed improper use of vsnprintf in StringFormat which is mainly
|
||
used for formatting strings of exception message. The actual bug
|
||
reported by the user was that aria2 emitted segmentation fault
|
||
error when very long URI(few thousands characters long) was given.
|
||
|
||
* Fixed the bug that dht.dat file could not be saved. This is because
|
||
a directory denoting temporary file path is wrongly created and
|
||
thus aria2 fails to open the file as regular file.
|
||
|
||
|
||
|
||
aria2 1.10.5
|
||
============
|
||
|
||
Release Note
|
||
------------
|
||
|
||
This release fixes the bug that file allocation is enabled in HTTP
|
||
even if --file-allocation=none is specified.
|
||
|
||
Please note that since 1.10.0 release, aria2 uses 1 connection per
|
||
host by default and has 20MiB segment size restriction. So whatever
|
||
value you specify using -s option, it uses 1 connection per host. To
|
||
make it behave like 1.9.x, use -x16 -k1M (see
|
||
--max-connection-per-server and --min-split-size option in man
|
||
page). If you specify multiple hosts, aria2 will use all of them and
|
||
open multiple connections.
|
||
|
||
Changes
|
||
-------
|
||
|
||
* Don't reuse socket which is readable because we assume that if
|
||
socket is readable it means peer shutdowns connection and the
|
||
socket will receive EOF. Added default timeout value to
|
||
DownloadEngine::poolSocket().
|
||
|
||
* Fixed the bug that file allocation is enabled in HTTP even if
|
||
--file-allocation=none is specified.
|
||
|
||
|
||
|
||
aria2 1.10.4
|
||
============
|
||
|
||
Release Note
|
||
------------
|
||
|
||
This release fixes the bug that aria2 hangs when FTP server does not
|
||
send '226 Transfer Complete' message and the bug that the time used in
|
||
file allocation is taken into account when calculating download speed.
|
||
Non UTF-8 filenames are now percent-encoded. The comments and name in
|
||
.torrent file in XML-RPC response are also percent-encoded if they are
|
||
not UTF-8. Compile error on OpenBSD4.7(i386) was fixed. A warning
|
||
message when CA certificates are not imported is not printed in
|
||
console. It is shown when certificate verification error is actually
|
||
occurred.
|
||
|
||
Please note that since 1.10.0 release, aria2 uses 1 connection per
|
||
host by default and has 20MiB segment size restriction. So whatever
|
||
value you specify using -s option, it uses 1 connection per host. To
|
||
make it behave like 1.9.x, use -x16 -k1M (see
|
||
--max-connection-per-server and --min-split-size option in man
|
||
page). If you specify multiple hosts, aria2 will use all of them and
|
||
open multiple connections.
|
||
|
||
Changes
|
||
-------
|
||
|
||
* Updated Russian, Simplified Chinese and French translation. Thanks
|
||
to all translators.
|
||
|
||
* Use RFC1123 date format for creation date of .torrent file printed
|
||
using -S.
|
||
|
||
* Rewritten Cookie class and Cookie parser based on
|
||
http://tools.ietf.org/html/draft-ietf-httpstate-cookie-15
|
||
|
||
* Use inet_ntoa if inet_ntop is not available. Since inet_ntoa does
|
||
not handle IPv6 address, IPv6 support is limited in this
|
||
case. Fixed unit test error under mingw32.
|
||
|
||
* Don't show warning message in console when CA certificates are not
|
||
imported. --ca-certificate and --check-certificate option were
|
||
mentioned in the error message displayed when certificate
|
||
verification failed.
|
||
|
||
* Print message when performing slow file allocation at first time.
|
||
|
||
* Fixed compile error on OpenBSD4.7(i386).
|
||
|
||
* Execute 5 DHT tasks concurrently in each task queue.
|
||
|
||
* Fixed the bug that FtpFinishDownloadCommand does not handle
|
||
timeout. This means it waits for the remote server to send "226
|
||
Transfer Complete" message *without* its own timeout until the
|
||
remote server shutdowns connection(we can detect EOF in this case).
|
||
|
||
* Rewritten util::escapePath(). Now it does not replace bad chars
|
||
with '_':it performs percent-encoding against them.
|
||
util::fixTaintedBasename() now replaces "/" with "%2F". Added 0x7f
|
||
as bad chars in util::detectDirTraversal().
|
||
|
||
* Non-UTF8 filenames are now percent-encoded. For example, filename
|
||
for http://example.org/%90%A2%8AE will be %90%A2%8AE because it is
|
||
Shift_JIS. The comments and name in .torrent file in XML-RPC
|
||
response are percent-encoded if they are not UTF-8.
|
||
|
||
* Reset download start time of PeerStat because it is started before
|
||
file allocation begins. Without reset, we have incorrect download
|
||
time and aria2 wrongly determines that download speed is too low if
|
||
--lowest-speed-limit is used.
|
||
|
||
* Added keys parameter to aria2.tellStatus, aria2.tellActive,
|
||
aria2.tellWaiting and aria2.tellStopped XML-RPC method. 'keys' is
|
||
array of string. If it is specified, the response contains only
|
||
keys in 'keys' array. If 'keys' is empty or not specified, the
|
||
response contains all keys. This is useful when you just want
|
||
specific keys and avoid unnecessary transfers. For example,
|
||
aria2.tellStatus("1", ["gid", "status"]) returns 'gid' and
|
||
'status' key.
|
||
|
||
|
||
|
||
aria2 1.10.3
|
||
============
|
||
|
||
Release Note
|
||
------------
|
||
|
||
This release adds short option -x for --max-connection-per-server
|
||
option and -k for --min-split-size option. It also adds
|
||
--max-download-result=NUM option. This option sets maximum number of
|
||
download result kept in memory and the default value is 1000.
|
||
--max-connection-per-server now accepts up to 16. '@' character is
|
||
now allowed in username embedded in URI. This release fixes the bug
|
||
that aria2 reports error and exits with non-zero status when file is
|
||
already downloaded and checksum is available.
|
||
|
||
Please note that since 1.10.0 release, aria2 uses 1 connection per
|
||
host by default and has 20MiB segment size restriction. So whatever
|
||
value you specify using -s option, it uses 1 connection per host. To
|
||
make it behave like 1.9.x, use -x16 -k1M (see
|
||
--max-connection-per-server and --min-split-size option in man
|
||
page). If you specify multiple hosts, aria2 will use all of them and
|
||
open multiple connections.
|
||
|
||
Changes
|
||
-------
|
||
|
||
* Replaced V_TRUE with A2_V_TRUE. Replaced V_FALSE with A2_V_FALSE.
|
||
|
||
* Added short option -k for --min-split-size option and -x for
|
||
--max-connection-per-server option. Raised maximum value of
|
||
--max-connection-per-server up to 16.
|
||
|
||
* Added --max-download-result=NUM option. This option sets maximum
|
||
number of download result kept in memory. The download results are
|
||
completed/error/ removed downloads. The download results are stored
|
||
in FIFO queue and it can store at most NUM download results. When
|
||
queue is full and new download result is created, oldest download
|
||
result is removed from the front of the queue and new one is pushed
|
||
to the back. Setting big number in this option may result high
|
||
memory consumption after thousands of downloads. Specifying 0 means
|
||
no download result is kept. Default value is 1000.
|
||
|
||
* Check hash(hash for entire file, not piece hash) if
|
||
--check-integrity option is given and file is downloaded(determined
|
||
by file length). If it fails, re-download file.
|
||
|
||
* Mark cached IP address bad on timeout to allow
|
||
aria2 to renew IP address cache.
|
||
|
||
* Fixed the bug that aria2 reports error and exits with non-zero
|
||
status when file is already downloaded.
|
||
|
||
* Allow '@' in username and password embedded in URI. It should be
|
||
percent-encoded but many people use their mail address as an
|
||
username and forget about PE.
|
||
|
||
* Data from remote server in HTTP/FTP download are now written to the
|
||
disk(or memory) through StreamFilter. Decoding chunked and gziped
|
||
streams are done cascading StreamFilter. Removed inefficient 1byte
|
||
read code.
|
||
|
||
|
||
|
||
aria2 1.10.2
|
||
============
|
||
|
||
Release Note
|
||
------------
|
||
|
||
This release fixes the bug that prevents HTTP redirect from working
|
||
when multiple files are downloaded from same host at the same time.
|
||
For netrc, aria2 now performs domain match if machine name defined in
|
||
.netrc starts with ".".
|
||
|
||
Please note that since 1.10.0 release, aria2 uses 1 connection per
|
||
host by default and has 20MiB segment size restriction. So whatever
|
||
value you specify using -s option, it uses 1 connection per host. To
|
||
make it behave like 1.9.x, use --max-connection-per-server=4
|
||
--min-split-size=1M. If you specify multiple hosts, aria2 will use
|
||
all of them and open multiple connections.
|
||
|
||
Changes
|
||
-------
|
||
|
||
* In .netrc file, if machine name starts ".", aria2 performs domain
|
||
match instead of exact match.
|
||
|
||
* Fixed the bug which prevents HTTP redirection from working when
|
||
downloading multiple files from same host at the same time.
|
||
|
||
|
||
|
||
aria2 1.10.1
|
||
============
|
||
|
||
Release Note
|
||
------------
|
||
|
||
This release adds IPv6 support for FTP, BitTorrent and BitTorrent DHT.
|
||
For FTP, EPSV and EPRT command support was added. Enabling IPv6 DHT
|
||
requires several options, so please check out the usage example in man
|
||
page or wiki usage example page. By default, the asynchronous DNS
|
||
resolver does not handle IPv6 address. To work with IPv6 address, use
|
||
--enable-async-dns6 option. aria2 now listens on both IPv4 and IPv6
|
||
socket for BitTorrent, its DHT and XML-RPC. aria2 uses same port for
|
||
both IPv4 and IPv6. The ability to add/remove BitTorrent tracker
|
||
announce URI was added. The link error for
|
||
FallocFileAllocationIterator was fixed.
|
||
|
||
Please note that since 1.10.0 release, aria2 uses 1 connection per
|
||
host by default and has 20MiB segment size restriction. So whatever
|
||
value you specify using -s option, it uses 1 connection per host. To
|
||
make it behave like 1.9.x, use --max-connection-per-server=4
|
||
--min-split-size=1M. If you specify multiple hosts, aria2 will use
|
||
all of them and open multiple connections.
|
||
|
||
Changes
|
||
-------
|
||
|
||
* Enter end game mode as soon as all pieces are assigned to peers to
|
||
avoid substantial slow down at the very last stage of download.
|
||
|
||
* Set max outstanding request size of BitTorrent download to 100. Set
|
||
stepping to 6.
|
||
|
||
* Added --bt-tracker and --bt-exclude-tracker option. In
|
||
--bt-tracker option, you can specify comma separated list of
|
||
additional BitTorrent tracker's announce URI. These URIs are not
|
||
affected by --bt-exclude-tracker option because they are added
|
||
after URIs in --bt-exclude-tracker option are removed. In
|
||
--bt-exclude-tracker option, you can specify comma separated list
|
||
of BitTorrent tracker's announce URI to remove. You can use special
|
||
value '*' which matches all URIs, thus removes all announce
|
||
URIs. When specifying '*' in shell command-line, don't forget to
|
||
escape or quote it. Added bt-tracker and bt-exclude-tracker to -i
|
||
list option.
|
||
|
||
* Listen both IPv4 and IPv6 for BitTorrent protocol.
|
||
|
||
* Listen both IPv4 and IPv6 for xml-rpc request.
|
||
|
||
* Added IPv6 DHT. Added --dht-entry-porint6, --dht-file-path6,
|
||
--dht-listen-addr6 and --enable-dht6 option. IPv6 DHT is disabled
|
||
by default. To use IPv6 DHT, you need to use --enable-dht6 and
|
||
specify a global unicast address to --dht-listen-addr6. IPv6 DHT
|
||
is highly experimental.
|
||
|
||
* Added support for peers6 key in tracker response. Added added6,
|
||
added6.f and dropped6 in ut_pex.
|
||
|
||
* Add only gracefully disconnected peer to ut_pex dropped list. Add
|
||
incoming dropped list to PeerStorage.
|
||
|
||
* Don't use pre-calculate hash value when end-game mode. Throw
|
||
exception if bad piece is received.
|
||
|
||
* Added bittorrent::packcompact() which replaces
|
||
bittorrent::createcompact() and supports IPv6 addresses. Rewritten
|
||
bittorrent::unpackcompact() and bittorrent::extractPeer() to
|
||
support IPv6 addresses. Fixed added.f flags in ut_pex.
|
||
|
||
* Added --enable-async-dns6 option. This option enables IPv6 name
|
||
resolution in asynchronous DNS resolver. This option will be
|
||
ignored when --async-dns=false.
|
||
|
||
* Use hostname of original URI when counting hostname in
|
||
inFlightRequest.
|
||
|
||
* Fixed the bug that
|
||
AdaptiveFileAllocationIterator::getCurrentLength() does not return
|
||
updated allocated bytes.
|
||
|
||
* Added FTP EPSV and EPRT command support. aria2 issues these
|
||
commands when address family of local socket is AF_INET6.
|
||
|
||
* Rewritten check for fallocate using AC_COMPILE_IFELSE.
|
||
|
||
* Fixed the bug that HAVE_SOME_FALLOCATE gets undefined if fallocate
|
||
is not available even if posix_fallocate is available. This causes
|
||
FallocFileAllocationIterator.cc is out of compile targets and
|
||
linker error.
|
||
|
||
|
||
|
||
aria2 1.10.0
|
||
============
|
||
|
||
Release Note
|
||
------------
|
||
|
||
This release adds an option to limit the number of connections to the
|
||
same host in each download. aria2 now chooses server which is least
|
||
used in aria2c instance. This release also adds Chromium cookie
|
||
support and HTTP only conditional download support which is download
|
||
file only when the local file is older than remote file. aria2 now
|
||
can handle %2F in FTP URI properly. HTTP/1.1 chunked decoder was
|
||
fixed. For Linux, aria2 uses fallocate by default if it is usable.
|
||
|
||
Changes
|
||
-------
|
||
|
||
* Metadata download may take very long time. If URIs are available,
|
||
give up metadata download in at most 30 seconds.
|
||
|
||
* Added --on-bt-download-complete=COMMAND option. For BitTorrent, a
|
||
command specified in --on-download-complete is called when download
|
||
completes and seeding is over. On the other hand, this option set
|
||
the command to be executed when download completes but before
|
||
seeding.
|
||
|
||
* Added --conditional-get option. Download file only when the local
|
||
file is older than remote file. This function only works with
|
||
HTTP(S) downloads only. It does not work if file size is specified
|
||
in Metalink. It also ignores Content-Disposition header. If a
|
||
control file exists, this option will be ignored. This function
|
||
uses If-Modified-Since header to get only newer file
|
||
conditionally. When getting modification time of local file, it
|
||
uses user supplied filename(see --out option) or filename part in
|
||
URI if --out is not specified.
|
||
|
||
* FeedbackURISelector now tries to select URI whose host is least
|
||
used in aria2 globally.
|
||
|
||
* Added --min-split-size=SIZE option. aria2 does not split less than
|
||
2*SIZE byte range. For example, let's consider downloading 20MiB
|
||
file. If SIZE is 10M, aria2 can split file into 2 range [0-10MiB)
|
||
and [10MiB-20MiB) and download it using 2 sources(if --split >= 2,
|
||
of course). If SIZE is 15M, since 2*15M > 20MiB, aria2 does not
|
||
split file and download it using 1 source.
|
||
|
||
* Added --max-connection-per-server=NUM option. The default value of
|
||
NUM is 1. This option limits the number of connections allowed to
|
||
one server for each download. This means when NUM is 2 and 1 URI is
|
||
provided, even if you specified -s 5, aria2 establishes 2
|
||
connections.
|
||
|
||
* Set end byte in Range header if start byte > 0 to get more chance
|
||
to pool socket.
|
||
|
||
* Fixed ChunkedDecoder. It does not read trailer and final CRLF.
|
||
|
||
* Send each CWD component of FTP URI in separate CWD command as
|
||
described in RFC1738.
|
||
|
||
* Fixed the bug that aria2 cannot handle %2F in FTP URI properly. If
|
||
directory component starts with %2F which percent-encode of '/',
|
||
client should issue CWD to absolute path, but aria2 does not do
|
||
that. It just issues relative path and download fails.
|
||
|
||
* Added Chromium/Google Chrome Cookies file support. Thanks to
|
||
gotrunks for original patch.
|
||
|
||
* When allocating disk space, for Linux system with fallocate()
|
||
system call, first check file system supports fallocate. This just
|
||
run fallocate with small chunk and see it succeeds or fails. If it
|
||
succeeds, use fallocate() to allocate entire file otherwise fall
|
||
back to traditional slower method: writing zeros. This behavior is
|
||
enabled in --file-allocation=prealloc, so this is enabled by
|
||
default for most modern Linux.
|