aria2 1.11.0 ============ Release Note ------------ This release adds JSON-RPC interface. The JSON-RPC and XML-RPC shares same APIs. The JSON-RPC also supports JSONP. 2 new options were added: --retry-wait and --async-dns-server. The downloads added by aria2.addTorrent and aria2.addMetalink RPC method are now saved to the file specified in --save-session option. The proxy options and related environment variables now accept https:// and ftp:// scheme. This release fixes the bug that causes segmentation fault when unpausing downloads in some situations. MinGW32 build now looks for USERPROFILE and the combination of HOMEDRIVE and HOMEPATH to get user's home directory and doesn't check permission of .netrc file. Changes ------- * Updated gettext to 0.18 * Added JSON-RPC support. --enable-xml-rpc was deprecated and --enable-rpc should be used instead. Similarly, --xml-rpc-* options were replaced with --rpc-* options. We are implementing JSON-RPC based on JSON-RPC 2.0 draft spec. * Fixed rounding error in DownloadEngine::run(). This fixes the bug that executeCommand() with Command::STATUS_ALL is not called in every interval correctly because of rounding error in timer. * Refresh buckets at DHT initialization without checking serialized time. Checking serialized time does not work if you stop aria2 as soon as it started DHT. The serialized time in dht.dat will be updated, but buckets are not updated and still old. When you restart aria2 again soon, it does not refresh buckets because serialized time is recent. * Save downloads added by aria2.addTorrent or aria2.addMetalink in --save-session file. Uploaded data are saved as file named hex string of sha1 hash of uploaded data plus extension(".torrent" for torrent and ".meta4" for metalink). For example, 0a3893293e27ac0490424c06de4d09242215f0a6.torrent. The directory where these files are saved is specified by --dir option. These file paths are written in --save-session file. * Fixed the bug that causes segmentation fault when unpause RequestGroup which has resolved BtDependency. * Look for USERPROFILE and the combination of HOMEDRIVE and HOMEPATH to get user's home directory in MinGW32 build. Usually HOME environment variable is defined in *nix like OSes, but not in Windows. So in MinGW32 build, if HOME is not defined, we also look for USERPROFILE and the combination of HOMEDRIVE and HOMEPATH. * Fixed the bug that DownloadContext::basePath_ is not escaped. * Added Date, Expires and Cache-Control response header field to RPC response. * Added --async-dns-server option. This option accepts comma separated list of DNS server addresses used in asynchronous DNS resolver. Usually asynchronous DNS resolver reads DNS server addresses from /etc/resolv.conf. When this option is used, it uses DNS servers specified in this option instead of ones in /etc/resolv.conf. You can specify both IPv4 and IPv6 address. This option is useful when the system does not have /etc/resolv.conf and user does not have the permission to create it. * Accept https:// and ftp:// in proxy options and environment variables. * Fixed overflow in the calculation of progress percentage for file allocation and hash check when off_t is 32bit. * Accept HTTP 304 reply as success when If-None-Match request-header field is specified using --header option. When --conditional-get is used, --allow-overwrite is now required to overwrite existing file. * Added aria2.removeDownloadResult RPC method. The method signature is aria2.removeDownloadResult(gid). This method removes completed/error/removed download denoted by gid from memory. This method returns "OK" for success. * Use IP address of control connection to connect to the remote server in FTP passive mode. * Don't check permission of .netrc file in MinGW32 build. * Added --retry-wait option. This option was once existed in aria2 but erased on 2009-09-20. Now it is resurrected once again. We choose 0 as default value for backward compatibility. Now we retry HTTP download when remote server returns "503 Service Unavailable" if --retry-wait > 0. We also added error code 29: HTTP_SERVICE_UNAVAILABLE. * Don't show metadata download and paused download in "Download Results".