mirror of https://github.com/aria2/aria2
Updated for 1.10.0 release
parent
5e532638c7
commit
af99aa31d9
408
NEWS
408
NEWS
|
@ -1,349 +1,75 @@
|
||||||
aria2 1.9.5
|
aria2 1.10.0
|
||||||
===========
|
============
|
||||||
|
|
||||||
Release Note
|
Release Note
|
||||||
------------
|
------------
|
||||||
|
|
||||||
This release fixes the bug that causes corrupted file. It also fixes
|
This release adds an option to limit the number of connections to the
|
||||||
assertion error in DefaultPeerStorage class. Now aria2 doesn't reset
|
same host in each download. aria2 now chooses server which is least
|
||||||
referer to "" on redirect. log and log-level option can be used
|
used in aria2c instance. This release also adds Chromium cookie
|
||||||
in aria2.changeGlobalOption XML-RPC method. This means you can
|
support and HTTP only conditional download support which is download
|
||||||
dynamically start or stop logging and change log file and log level.
|
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
|
Changes
|
||||||
-------
|
-------
|
||||||
|
|
||||||
* Don't set previousUri_ to "" on redirect.
|
* Metadata download may take very long time. If URIs are available,
|
||||||
|
give up metadata download in at most 30 seconds.
|
||||||
* Fixed Peer::updateSeeder() to reflect current bitfield.
|
|
||||||
|
* Added --on-bt-download-complete=COMMAND option. For BitTorrent, a
|
||||||
* Made log and log-level option modifiable using
|
command specified in --on-download-complete is called when download
|
||||||
aria2.changeGlobalOption. This means you can dynamically start or
|
completes and seeding is over. On the other hand, this option set
|
||||||
stop logging and change log file and log level.
|
the command to be executed when download completes but before
|
||||||
|
seeding.
|
||||||
* Fixed that bug that when aria2 is stopped before whole hash
|
|
||||||
check(not piece hash check) is done, aria2 reports its file is
|
* Added --conditional-get option. Download file only when the local
|
||||||
downloaded successfully. It should report the download is
|
file is older than remote file. This function only works with
|
||||||
in-progress and next invocation of aria2 should check hash.
|
HTTP(S) downloads only. It does not work if file size is specified
|
||||||
|
in Metalink. It also ignores Content-Disposition header. If a
|
||||||
* Fixed the bug that corrups file if segment returned from
|
control file exists, this option will be ignored. This function
|
||||||
SegmetnMan::getCleanSegmentIfOwnerIsIdle() has writtenLength > 0.
|
uses If-Modified-Since header to get only newer file
|
||||||
|
conditionally. When getting modification time of local file, it
|
||||||
* Fixed assertion error if updateTransferStatFor is called with peer
|
uses user supplied filename(see --out option) or filename part in
|
||||||
X before calculateStat() after peer X is added.
|
URI if --out is not specified.
|
||||||
|
|
||||||
|
* FeedbackURISelector now tries to select URI whose host is least
|
||||||
|
used in aria2 globally.
|
||||||
aria2 1.9.4
|
|
||||||
===========
|
* Added --min-split-size=SIZE option. aria2 does not split less than
|
||||||
|
2*SIZE byte range. For example, let's consider downloading 20MiB
|
||||||
Release Note
|
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
|
||||||
This release fixes the bug that connection reuse on FTP does not work
|
split file and download it using 1 source.
|
||||||
if FTP server changes root directory based on account. It also fixes
|
|
||||||
the bug that reading Metalink document from pipe (-M- option) does not
|
* Added --max-connection-per-server=NUM option. The default value of
|
||||||
work when aria2 is built with expat or old libxml2(2.7.6 or
|
NUM is 1. This option limits the number of connections allowed to
|
||||||
earlier). Now aria2 does not emit error if given Metalink document is
|
one server for each download. This means when NUM is 2 and 1 URI is
|
||||||
empty(no file element). The response of aria2.tellStopped XML-RPC
|
provided, even if you specified -s 5, aria2 establishes 2
|
||||||
method now has more information: totalLength, completedLength,
|
connections.
|
||||||
uploadLength, bitfield and so on.
|
|
||||||
|
* Set end byte in Range header if start byte > 0 to get more chance
|
||||||
Changes
|
to pool socket.
|
||||||
-------
|
|
||||||
|
* Fixed ChunkedDecoder. It does not read trailer and final CRLF.
|
||||||
* Updated Italian translation. Added Korean translation. Thanks to
|
|
||||||
all translators.
|
* Send each CWD component of FTP URI in separate CWD command as
|
||||||
|
described in RFC1738.
|
||||||
* Fixed the bug that reading Metalink from pipe fails on older
|
|
||||||
libxml2. It only accepts "-" as a special keyword to read stdin.
|
* Fixed the bug that aria2 cannot handle %2F in FTP URI properly. If
|
||||||
|
directory component starts with %2F which percent-encode of '/',
|
||||||
* Added log message when cookies are loaded. Added filename to log
|
client should issue CWD to absolute path, but aria2 does not do
|
||||||
message when serializing session.
|
that. It just issues relative path and download fails.
|
||||||
|
|
||||||
* Treat SIGHUP and SIGTERM signal as emergency shutdown because they
|
* Added Chromium/Google Chrome Cookies file support. Thanks to
|
||||||
are usually issued by system or other process.
|
gotrunks for original patch.
|
||||||
|
|
||||||
* Don't throw exception when Metalink document is empty(no file
|
* When allocating disk space, for Linux system with fallocate()
|
||||||
element). It is a valid Metalink document anyway.
|
system call, first check file system supports fallocate. This just
|
||||||
|
run fallocate with small chunk and see it succeeds or fails. If it
|
||||||
* Fixed the bug that feeding Metalink XML via pipe (-M- option) does
|
succeeds, use fallocate() to allocate entire file otherwise fall
|
||||||
not work when aria2 is built with expat. Fixed the bug that when
|
back to traditional slower method: writing zeros. This behavior is
|
||||||
Metalink XML is fed via pipe and --save-session is used, entry
|
enabled in --file-allocation=prealloc, so this is enabled by
|
||||||
"/dev/stdin" is saved in session file.
|
default for most modern Linux.
|
||||||
|
|
||||||
* Added totalLength, completedLength, uploadLength, bitfield,
|
|
||||||
downloadSpeed, uploadSpeed, infoHash, numSeeders, pieceLength,
|
|
||||||
numPieces, connections and dir to the response of aria2.tellStopped
|
|
||||||
XML-RPC method. aria2.tellWaiting now always returns numSeeders
|
|
||||||
for BitTorrent download.
|
|
||||||
|
|
||||||
* Fixed the bug that connection pooling does not take into account
|
|
||||||
proxy. This means that when connection A via proxy X is pooled, it
|
|
||||||
will be wrongly reused in the download using proxy Y.
|
|
||||||
|
|
||||||
* Fixed the bug that FTP download may fail when control connection is
|
|
||||||
reused. This happens because FTP server can offer different root
|
|
||||||
directory for different account. If pooled connections has
|
|
||||||
different root directory, then download will fail.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
aria2 1.9.3
|
|
||||||
===========
|
|
||||||
|
|
||||||
Release Note
|
|
||||||
------------
|
|
||||||
|
|
||||||
This release fixes the bug that aria2 cuts filename after ';' if
|
|
||||||
filename in Content-Disposition header includes ';'. It also fixes
|
|
||||||
the bug that name attribute of file element in Metalink file is not
|
|
||||||
properly sanitized.
|
|
||||||
|
|
||||||
Changes
|
|
||||||
-------
|
|
||||||
|
|
||||||
* Fixed the bug that name attribute of file element in Metalink file
|
|
||||||
is not properly sanitized.
|
|
||||||
|
|
||||||
* Fixed the bug that if filename in Content-Disposition header
|
|
||||||
includes ';', aria2 cuts filename after ';'.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
aria2 1.9.2
|
|
||||||
===========
|
|
||||||
|
|
||||||
Release Note
|
|
||||||
------------
|
|
||||||
|
|
||||||
This release adds kqueue, port_associate/port_getn and poll() support
|
|
||||||
for socket event notification to eliminate 1024 file descriptor
|
|
||||||
limitation of select() call. The bug that aria2.unpause and
|
|
||||||
aria2.unpauseAll XML-RPC method fail when -s1 is given in command-line
|
|
||||||
argument was fixed.
|
|
||||||
|
|
||||||
Changes
|
|
||||||
-------
|
|
||||||
|
|
||||||
* Print warning when trying to add file descriptor >= FD_SET or < 0
|
|
||||||
to fd_set for other than MinGW32 build. For MinGW32 build, print
|
|
||||||
warning when trying to add file descriptor to fd_set when it
|
|
||||||
already contains FD_SET file descriptors.
|
|
||||||
|
|
||||||
* Defined FD_SETSIZE 1024 for MinGW32.
|
|
||||||
|
|
||||||
* Added missing timespec.h to SRCS
|
|
||||||
|
|
||||||
* Fixed the bug that aria2.unpause fails with -s1.
|
|
||||||
|
|
||||||
* Supported poll, kqueue, port_associate/port_getn for socket event
|
|
||||||
notification
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
aria2 1.9.1
|
|
||||||
===========
|
|
||||||
|
|
||||||
Release Note
|
|
||||||
------------
|
|
||||||
|
|
||||||
This release adds the ability to save unfinished downloads as text
|
|
||||||
file. aria2 can read the file with -i option on restart. This
|
|
||||||
release also adds the ability to download file from scratch when aria2
|
|
||||||
sees resume is not supported by remote server. This feature is
|
|
||||||
disabled by default. See --always-resume option for
|
|
||||||
details. --no-proxy option accepts IPv4 network address with CIDR
|
|
||||||
block. aria2 now doesn't send "Accept-Encoding: deflate, gzip" by
|
|
||||||
default. --http-accept-gzip option was added to toggle this behavior.
|
|
||||||
aria2 now treats lines starting "#" in -i list as comments. Several
|
|
||||||
XML-RPC methods were added: aria2.pause, aria2.unpause,
|
|
||||||
aria2.shutdown, and their families. The new exist status code '8' was
|
|
||||||
added. The bug that makes aria2 hang when system time changes while
|
|
||||||
aria2 is running was fixed on MinGW32, Mac OS X and the system which
|
|
||||||
has clock_gettime(). Several other bugs also have been fixed.
|
|
||||||
|
|
||||||
Changes
|
|
||||||
-------
|
|
||||||
|
|
||||||
* Updated Ukrainian, Russian, Simplified Chinese, German and Greek
|
|
||||||
translation. Thanks to all translators.
|
|
||||||
|
|
||||||
* Added warning for the system which lacks clock_gettime with
|
|
||||||
CLOCK_MONOTONIC.
|
|
||||||
|
|
||||||
* Fixed the bug that hash check hangs when aria2.pause is issued
|
|
||||||
while aria2 is checking piece hashes. Fixed the bug that the
|
|
||||||
download is paused after file allocation completion even if
|
|
||||||
aria2.pause is issued during file allocation.
|
|
||||||
|
|
||||||
* Fixed compile error on opensolaris
|
|
||||||
|
|
||||||
* Added aria2.forcePause, aria2.pauseAll, aria2.forcePauseAll and
|
|
||||||
aria2.unpauseAll XML-RPC method.
|
|
||||||
|
|
||||||
* Use clock_gettime(CLOCK_MONOTONIC, ...) if it is available and
|
|
||||||
usable to prevent from aria2 from being affected by system time
|
|
||||||
change.
|
|
||||||
|
|
||||||
* Added aria2.pause and aria2.unpause XML-RPC method. aria2.pause
|
|
||||||
pauses the download denoted by gid. gid is of type string. The
|
|
||||||
status of paused download becomes "paused" and the download is
|
|
||||||
placed on the first position of waiting queue. As long as the
|
|
||||||
status is "paused", the download is not started. To change status
|
|
||||||
to "waiting", use aria2.unpause method. This method returns GID of
|
|
||||||
paused download. aria2.unpause changes the status of the download
|
|
||||||
denoted by gid from "paused" to "waiting". This makes the download
|
|
||||||
eligible to restart. gid is of type string. This method returns GID
|
|
||||||
of unpaused download.
|
|
||||||
|
|
||||||
* Added --save-session=FILE option. This option saves
|
|
||||||
error/unfinished downloads to FILE on exit. You can pass this
|
|
||||||
output file to aria2c with -i option on restart. Please note that
|
|
||||||
downloads added by aria2.addTorrent and aria2.addMetalink XML-RPC
|
|
||||||
method are not saved.
|
|
||||||
|
|
||||||
* Fixed the bug that FTP data connection is not established via proxy
|
|
||||||
when --ftp-proxy is defined and --ftp-pasv=true and
|
|
||||||
--proxy-method=tunnel.
|
|
||||||
|
|
||||||
* Fixed the bug that web-seed URI is not percent-encoded.
|
|
||||||
|
|
||||||
* Added aria2.shutdown and aria2.forceShutdown XML-RPC method. These
|
|
||||||
methods, as their name imply, shutdown aria2. These methods are
|
|
||||||
useful for Windows because it lacks signal mechanism.
|
|
||||||
|
|
||||||
* Don't send "Accept-Encoding: default, gzip" by default. This is
|
|
||||||
because some servers respond with "Content-Encoding: gzip" for a
|
|
||||||
file which itself is gzipped file and aria2 inflates them. This is
|
|
||||||
a problem if user doesn't want to inflate the file. Apparently this
|
|
||||||
is server configuration error, but we cannot do anything about
|
|
||||||
this. So we turned this off. Added --http-accept-gzip option. If
|
|
||||||
true is given to this option, aria2 sends "Accept-Encoding:
|
|
||||||
deflate, gzip" request header and inflates response if remote
|
|
||||||
server responds with "Content-Encoding: gzip" or "Content-Encoding:
|
|
||||||
deflate". We removed extension "tgz" hack in order not to inflate
|
|
||||||
files with tgz extensions.
|
|
||||||
|
|
||||||
* Made aria2 not send
|
|
||||||
"application/metalink4+xml,application/metalink+xml" in Accept
|
|
||||||
header for web-seeding URIs and tracker request.
|
|
||||||
|
|
||||||
* Added --dht-message-timeout option.
|
|
||||||
|
|
||||||
* Added --bt-tracker-connect-timeout and --bt-tracker-timeout
|
|
||||||
option.
|
|
||||||
|
|
||||||
* Documented that specifying --seed-time=0 disables seeding after
|
|
||||||
download completed.
|
|
||||||
|
|
||||||
* Drop connection if same Peer ID has been already seen.
|
|
||||||
|
|
||||||
* Fixed the bug that waiting download unintentionally starts when
|
|
||||||
URIs are added to it using aria2.changeUri XML-RPC method.
|
|
||||||
|
|
||||||
* Fixed compile error with g++-4.4 on FreeBSD.
|
|
||||||
|
|
||||||
* Fixed the bug that URIs added using aria2.changeUri XML-RPC method
|
|
||||||
are not used immediately if there is no URI remaining before
|
|
||||||
calling aria2.changeUri and the number of connection is less than
|
|
||||||
the value in -s(or -C for Metalink downloads).
|
|
||||||
|
|
||||||
* Added --always-resume and --max-resume-failure-tries option. If
|
|
||||||
--always-resume=false is given, when all given URIs do not
|
|
||||||
support resume or aria2 encounters N URIs which does not support
|
|
||||||
resume (N is the value specified using --max-resume-failure-tries
|
|
||||||
option), aria2 downloads file from scratch. The default behavior is
|
|
||||||
--always-resume=true, which means if all URIs do not support
|
|
||||||
resume, download fails. I think this is OK because user normally
|
|
||||||
doesn't like to see that partially downloaded file is
|
|
||||||
overwritten(this is particularly true if file size is big). This
|
|
||||||
option is useful when aria2 is used as a download backend and
|
|
||||||
graceful falling back to overwritten behavior is preferable. Added
|
|
||||||
exit status value 8, which means download failed because server did
|
|
||||||
not support resume.
|
|
||||||
|
|
||||||
* Added --remove-control-file option. This option removes control
|
|
||||||
file(*.aria2 file) before download. Using with
|
|
||||||
--allow-overwrite=true, download always starts from scratch. This
|
|
||||||
will be useful for users behind proxy server which disables
|
|
||||||
resume. For such proxy user, -C1 is also recommended for Metalink
|
|
||||||
downloads to avoid establishing unnecessary connections.
|
|
||||||
|
|
||||||
* Added v key in DHT message. aria2's DHT version is independent of
|
|
||||||
the package version and we defined it as 1 at the moment. It is
|
|
||||||
defined as DHT_VERSION in src/DHTConstants.h. aria2's DHT version
|
|
||||||
scheme is "A2"+2bytes DHT version number in network byte order.
|
|
||||||
|
|
||||||
* Fixed the bug that value of numSeeders in aria2.tellStatus XML-RPC
|
|
||||||
method response is integer, while it should be string. The man
|
|
||||||
page says it is string. When peer's port is not listening port,
|
|
||||||
set '0' to port in aria2.getPeers response.
|
|
||||||
|
|
||||||
* Lines starting "#" in -i list are treated as comments.
|
|
||||||
|
|
||||||
* Accept IPv4 network address with CIDR block in --no-proxy option
|
|
||||||
and no_proxy environment variable. Current implementation does not
|
|
||||||
resolve hostname in URI to compare network address. So it is only
|
|
||||||
effecive if URI has numeric IP address.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
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. The user and
|
|
||||||
password for proxy server now can be specified in command-line
|
|
||||||
separately. We refactored the code based on profiler results, so
|
|
||||||
aria2 now runs more efficiently than ever. Russian and Simplified
|
|
||||||
Chinese translation were updated.
|
|
||||||
|
|
||||||
Changes
|
|
||||||
-------
|
|
||||||
|
|
||||||
* Resurrected --http-proxy-user and --http-proxy-passwd option.
|
|
||||||
Added --https-proxy-user, --https-proxy-passwd, --ftp-proxy-user,
|
|
||||||
--ftp-proxy-passwd, --all-proxy-user, --all-proxy-passwd option.
|
|
||||||
|
|
||||||
* Updated Russian and Simplified Chinese translation.
|
|
||||||
|
|
||||||
* 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. It returns currently connected
|
|
||||||
HTTP(S)/FTP server and download speed, etc.
|
|
||||||
|
|
||||||
* 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.
|
|
||||||
|
|
Loading…
Reference in New Issue