summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-07-18 15:35:30 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-07-18 15:35:30 +0000
commitaf99aa31d9d19d8f779c9ad29378d05fb84c7660 (patch)
treeb05062211908ce6abf8a6f3e0bdc007dde7bf0a7
parent5e532638c7420935b829d80000903cabfbc8aae7 (diff)
Updated for 1.10.0 release
-rw-r--r--NEWS408
1 files changed, 67 insertions, 341 deletions
diff --git a/NEWS b/NEWS
index 9f4ac2fa..74dd7767 100644
--- a/NEWS
+++ b/NEWS
@@ -1,349 +1,75 @@
-aria2 1.9.5
-===========
+aria2 1.10.0
+============
Release Note
------------
-This release fixes the bug that causes corrupted file. It also fixes
-assertion error in DefaultPeerStorage class. Now aria2 doesn't reset
-referer to "" on redirect. log and log-level option can be used
-in aria2.changeGlobalOption XML-RPC method. This means you can
-dynamically start or stop logging and change log file and log level.
+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
-------
- * Don't set previousUri_ to "" on redirect.
-
- * Fixed Peer::updateSeeder() to reflect current bitfield.
-
- * Made log and log-level option modifiable using
- aria2.changeGlobalOption. This means you can dynamically start or
- stop logging and change log file and log level.
-
- * Fixed that bug that when aria2 is stopped before whole hash
- check(not piece hash check) is done, aria2 reports its file is
- downloaded successfully. It should report the download is
- in-progress and next invocation of aria2 should check hash.
-
- * Fixed the bug that corrups file if segment returned from
- SegmetnMan::getCleanSegmentIfOwnerIsIdle() has writtenLength > 0.
-
- * Fixed assertion error if updateTransferStatFor is called with peer
- X before calculateStat() after peer X is added.
-
-
-
-aria2 1.9.4
-===========
-
-Release Note
-------------
-
-This release fixes the bug that connection reuse on FTP does not work
-if FTP server changes root directory based on account. It also fixes
-the bug that reading Metalink document from pipe (-M- option) does not
-work when aria2 is built with expat or old libxml2(2.7.6 or
-earlier). Now aria2 does not emit error if given Metalink document is
-empty(no file element). The response of aria2.tellStopped XML-RPC
-method now has more information: totalLength, completedLength,
-uploadLength, bitfield and so on.
-
-Changes
--------
-
- * Updated Italian translation. Added Korean translation. Thanks to
- all translators.
-
- * Fixed the bug that reading Metalink from pipe fails on older
- libxml2. It only accepts "-" as a special keyword to read stdin.
-
- * Added log message when cookies are loaded. Added filename to log
- message when serializing session.
-
- * Treat SIGHUP and SIGTERM signal as emergency shutdown because they
- are usually issued by system or other process.
-
- * Don't throw exception when Metalink document is empty(no file
- element). It is a valid Metalink document anyway.
-
- * Fixed the bug that feeding Metalink XML via pipe (-M- option) does
- not work when aria2 is built with expat. Fixed the bug that when
- Metalink XML is fed via pipe and --save-session is used, entry
- "/dev/stdin" is saved in session file.
-
- * 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.
+ * 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.