forked from aria2/aria2
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
354a539
commit 6568009
Showing
1 changed file
with
84 additions
and
235 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,290 +1,139 @@ | ||
aria2 1.19.3 | ||
aria2 1.20.0 | ||
============ | ||
|
||
Release Note | ||
------------ | ||
|
||
This release fixes lots of bugs. See the Changes section below. | ||
There are new features in this release. We added "seeder" key in | ||
aria2.tellStatus RPC response. We added system.listMethods RPC method | ||
to return all RPC method supported. We added --max-mmap-limit option | ||
to avoid mmap if total file size is greater than given size. | ||
|
||
Changes | ||
------- | ||
|
||
* Fix bug that pause/unpause seeding torrent prevents new downloads | ||
from starting | ||
* src/WinConsoleFile.cc: fix colour | ||
|
||
Previously, with --bt-detach-seed-only, when user issued pause and | ||
unpause command to seeding torrent, and it was started again, and it | ||
immediately got seeding status, but aria2 did not start new download | ||
waiting in the queue. This commit fixes this bug. | ||
Set default foreground/background colour correctly | ||
|
||
See GH-490 | ||
Patch from kwkam | ||
|
||
* Add --bt-enable-hook-after-hash-check option | ||
* configure.ac: fix autoreconf error | ||
|
||
This option sets flag which allows hook command invocation after | ||
hash check (see -V option) in BitTorrent download. By default, when | ||
hash check succeeds, the command given by --on-bt-download-complete | ||
is executed. To disable this action, give false to this option. | ||
Use m4_ifdef so we do not have to install optional libraries | ||
|
||
* Add --socket-recv-buffer-size option | ||
Patch from kwkam | ||
|
||
Set the maximum socket receive buffer in bytes. Specifing 0 will | ||
disable this option. This value will be set to socket file | ||
descriptor using SO_RCVBUF socket option with setsockopt() call. | ||
* Don't inherit file descriptor to child process | ||
|
||
See GH-487 about the usecase of this option | ||
For non-Mingw32 build, set FD_CLOEXEC to file descriptors which live | ||
beyond function scope. For Mingw32 build, just pass false to | ||
bInheritHandles parameter of CreateProcessW. | ||
|
||
* Disable --deferred-input when --save-session is used together | ||
* Update Russian version documentation | ||
|
||
With --deferred-input=true, aria2 only reads input file to fill | ||
active download slots, while keeping input file open. Meanwhile, | ||
--save-session saves all download info inside memory, but this does | ||
not take into account of unread item in input file. This will lead | ||
to lose input data in saved session file. Also current BufferedFile | ||
implementation used to read/write input/output file take a lock on | ||
Windows. This effectively prevents session serializer from writing | ||
session data to the same file which is still kept open because of | ||
--deferred-input. See GH-493 | ||
Patch from ITriskTI | ||
|
||
* base32: decode lowercased characters as well | ||
* Add "seeder" key to tellStatus RPC response | ||
|
||
This fixes the bug that magnet URI with lowercased btih is treated | ||
as malformed. | ||
* WinTLS: Fix hang because of buffered received data | ||
|
||
* mingw: Use GetFileSize to get file size | ||
WinTLSSession buffers received decrypted data into its own buffer. | ||
If read is requested, it copies the data from its buffer. But if | ||
requested buffer size is less than decrypted buffer, some of the | ||
data is left in the buffer. Previously, we had no facility to check | ||
the existence of this pending data. If this data is the last | ||
requested data from remote server, we may end up waiting for read | ||
event even if we have already data in our buffer, which may cause | ||
hang. This commit fixes this issue by introducing function to | ||
return the buffered length in TLSSession. SocketCore also provides | ||
the same function, which delegates to TLSSession object. | ||
|
||
_wstat family does not work with symbolic links. They always | ||
returns size 0. To workaround this, we now use GetFileSize to get | ||
file size. To do that, we need to first obtain file HANDLE, which | ||
is a bit tedious because of the messy interface of CreateFileW, but | ||
we have no way to get around it. | ||
* Add --max-mmap-limit option | ||
|
||
* Fix bug that file allocation=trunc does not work with Windows | ||
symlink | ||
Set the maximum file size to enable mmap (see --enable-mmap | ||
option). The file size is determined by the sum of all files | ||
contained in one download. For example, if a download contains 5 | ||
files, then file size is the total size of those files. If file size | ||
is strictly greater than the size specified in this option, mmap | ||
will be disabled. | ||
|
||
* Send the last error message as part of tellStatus RPC response | ||
* mingw: Use SetFileValidData to make --file-allocation=falloc work | ||
|
||
Patch from Jarda Snajdr | ||
* Retry with 504 status code | ||
|
||
* Don't enable mmap if file allocation is disabled | ||
* Increase DHT transaction ID from 2 to 4 bytes to avoid conflict | ||
|
||
Without file allocation, we cannot map file because file length | ||
could be zero. | ||
* Update wslay | ||
|
||
This could fix bug reported at GH-478 | ||
* Add --enable-werror option to configure to enable warning flags | ||
|
||
* Evict timed out pooled socket periodically | ||
* Don't modify user variables (e.g., CFLAGS, LIBS, etc) | ||
|
||
Previously we only scanned pool socket to check they are timed out | ||
when we pooled another socket. This means that pooled socket is not | ||
closed long time (stays in CLOSE-WAIT state) if we don't pool any | ||
more socket. In this commit, we now check pooled socket | ||
periodically (30 seconds) to avoid the sockets hanging in CLOSE-WAIT | ||
state long time. | ||
* Improve error message when loading pkcs12 file failed | ||
|
||
See GH-477 | ||
* Updated dependency and source url's | ||
|
||
* Don't write control file if content is not changed from previous one | ||
The RaspberryPi Dockerfile had some out-of-date dependency packages | ||
and was downloading an outdated aria2 source from Sourceforge, which | ||
resulted in a build for version 1.19.0. The new | ||
fetch-latest-release-from-GitHub script I've cooked up should always | ||
work as long as GitHub doesn't change their API and aria2's platform | ||
agnostic releases follow the "{version number}.tar.bz2" naming | ||
format. | ||
|
||
This is desirable so that we don't have to wake up disk if control | ||
file is not changed, and it is not have to be written again. We use | ||
the same method (SHA1 hash) to check the content is the same. The | ||
limitation is the hash is stored in memory, so we have to write the | ||
first time in each session. | ||
Patch from c3mb0 | ||
|
||
See GH-382 | ||
* Reduce delay in tracker request | ||
|
||
* Remove content-length and content-range if transfer-encoding is | ||
given | ||
We eliminated 1 second delay between completion of name resolution | ||
for tracker request and time when it is actually issued. We also | ||
elimited 1 second delay after last torrent download exists and it is | ||
told to DHTInteractionCommand. | ||
|
||
See GH-473 | ||
* Disable IPv6 on non-async NameResolver if configuration wants | ||
|
||
* Retry after 404 status if --max-file-not-found > 0 | ||
* Fix mysterious 1 second delay with async DNS | ||
|
||
* Fix bug that UDP port was incorrectly used in UDP tracker announce request | ||
|
||
aria2 1.19.2 | ||
============ | ||
|
||
Release Note | ||
------------ | ||
|
||
This release fixes the bug that progress summary is not shown timely. | ||
|
||
Changes | ||
------- | ||
|
||
* Fix bug that progress summary is not shown timely | ||
|
||
|
||
|
||
aria2 1.19.1 | ||
============ | ||
|
||
Release Note | ||
------------ | ||
|
||
This release fixes TLS handshake error with servers which only support | ||
RSA-SHA1 signature algorithm. We removed RSA-SHA1 for enchanced | ||
security, but many users reported there were servers which could not | ||
talk aria2 1.19.0, so added it again for compatibility reasons. For | ||
Windows build, we fixed potential infinite loop bug when TLS is used. | ||
|
||
We changed the location where dht.dat and aria2.conf are looked up. | ||
The aria2 manual page described details. Basically we now follow XDG | ||
specification (http://standards.freedesktop.org/basedir-spec/latest/). | ||
For dht.dat, the default location is $XDG_CACHE_HOME/aria2/ directory. | ||
For aria2.conf, the default location is $XDG_CONFIG_HOME/aria2/ | ||
directory. To keep the current user configuration working, if aria2 | ||
detects dht.dat under $HOME/.aria2/ directory, it is used instead. | ||
Similarly, if aria2.conf exists under $HOME/.aria2/ directory, it is | ||
used instead. | ||
|
||
Previously, we return 500 HTTP status if RPC method execution | ||
encountered error. Now it returns with 400 HTTP status with error | ||
code. This is more natural because server processed request and found | ||
an error, and returned error reply correctly. This is not something | ||
server crashed or something. Also, there is RPC libraries which | ||
throws exception if it sees 5XX status code, where 400 is better | ||
because we can examine the error. | ||
|
||
Changes | ||
------- | ||
|
||
* Update README.android | ||
|
||
Providing some workarounds about CA certificates and standard output | ||
|
||
Patch from amtlib-dot-dll | ||
|
||
* Return 400 HTTP status code if exception was caught while executing | ||
RPC method | ||
|
||
Previously, we returned 500 HTTP status code. I think the found in | ||
RPC level, not in HTTP protocol, so 500 is not appropriate. | ||
|
||
* WinTLS: Fix potential infinite loop | ||
|
||
* Fix on-download-error is executed even if download succeeded | ||
|
||
* Update Dockerfile.mingw | ||
|
||
Patch from Adam Baxter | ||
|
||
* Increase --select-file upper bound to 1m for torrent containing lots | ||
of files | ||
|
||
* Fix busy loop with --dry-run and 4xx response for URI listed in | ||
metalink | ||
|
||
See GH-430 | ||
|
||
* Update sqlite in OSX build to 3.8.10.2 | ||
|
||
* Make LibuvEventPoll compatible with the latest libuv again | ||
|
||
* gnutls: Allow SIGN-RSA-SHA1 for compatibility reason | ||
|
||
* Make script compatible with both Python 2 and 3 | ||
|
||
Patch from Vasilij Schneidermann | ||
|
||
* Make config and cache files conform to XDG | ||
|
||
See http://standards.freedesktop.org/basedir-spec/latest/ for | ||
further details. This implementation decides the default based on | ||
whether a file exists at the legacy location, if it doesn't, it | ||
picks the XDG-conforming location instead. | ||
|
||
Patch from Vasilij Schneidermann | ||
|
||
* ftp, sftp: Fix heap-after-free bug on exception | ||
|
||
* ftp: Fix timeout when reusing FTP connection | ||
|
||
* Various MinGW-w64 build improvements | ||
|
||
- Fix detection of localtime_r and asctime_r on MinGW-w64 | ||
- Fix linking with libintl on MinGW-w64 | ||
|
||
Patch from David Macek | ||
|
||
|
||
|
||
aria2 1.19.0 | ||
============ | ||
|
||
Release Note | ||
------------ | ||
|
||
This releases adds SFTP support, and fixes several bugs. SFTP support | ||
has been implemented using libssh2. We added several new options. | ||
--multiple-interface option is like --interface option, but can take | ||
several interfaces. They are used in round-robin manner, and it works | ||
like link aggregation. Previously, .netrc search path is fixed under | ||
$HOME directory, and cannot be changed. In this release, --netrc-path | ||
option has been added to override the search path. The runtime bug | ||
concerning getrandom has been fixed in this release. Previously if | ||
download failed because checksum error, aria2 exited with error code 1 | ||
(unknown error). Now it exits with dedicated error code 32. We fixed | ||
long outstanding bug that aria2 crashes when downloading multi-file | ||
torrent. | ||
|
||
Changes | ||
------- | ||
|
||
* android: Build and link with zlib | ||
|
||
Previously, we linked with zlib shipped with NDK, but it seems this | ||
is not part of NDK API, and thus could break our app. | ||
|
||
* Allow netrc-path to be specified in the config file | ||
|
||
Adds --netrc-path to override default .netrc search path. Patch | ||
from Ryan Steinmetz | ||
|
||
* Exit with 32 status code if checksum verification failed | ||
|
||
* Add SFTP support using libssh2 | ||
|
||
aria2 can now download files via sftp protocol: aria2c sftp://.... | ||
--ssh-host-key-md option is added to specify expected server's | ||
fingerprint. | ||
|
||
* Added Dockerfile to cross complile aria2 for RaspberryPI (armhf) | ||
|
||
Patch from Igor Khomyakov | ||
* Refactor HttpRequest | ||
|
||
* multiple interface support for link aggregation | ||
This also makes comparison performed when replacing builtin header | ||
field with user-defined one case-insensitive. | ||
|
||
Adds --multiple-interface option. Patch from Sarim Khan | ||
* Send Want-Digest as per RFC 3230 | ||
|
||
* Run on-bt-download-complete command when -V reports download finished | ||
* Try all found address set to bind sockets with --multiple-interface | ||
|
||
Fixes GH-355 | ||
Fixes GH-523 | ||
|
||
* Use dedicated DiskWriter in MultiDiskFileAllocationIterator | ||
* Replace sourceforge references with aria2.github.io | ||
|
||
We have to use dedicated DiskWriter instead of | ||
(*entryItr_)->getDiskWriter(). This is because | ||
SingleFileAllocationIterator cannot reopen file if file is closed by | ||
OpenedFileCounter. Fixes GH-350 | ||
* Add system.listMethods RPC method | ||
|
||
* Fix getrandom for system with libc not including errno or systems | ||
system.listMethods just returns the available RPC method names. It | ||
can be executed without secret token, because it just returns the | ||
method names, and does not alter anything. | ||
|
||
not supporting ENOSYS in the first place. Fixes GH-347 | ||
See GH-437 | ||
|
||
* Don't send back rpc-secret option value in aria2.getGlobalOption RPC | ||
method | ||
* Support content-range from non-compliant server | ||
|
||
* Make libuv default off | ||
See GH-509 | ||
|
||
See GH-241 for discussion | ||
* Reduce UDP tracker request timeout | ||
|
||
* Fixed slow RPC response | ||
See GH-507 | ||
|
||
Fxies GH-345 | ||
* Apply --retry-wait when retrying after 404 | ||
|
||
* Fix getrandom interface detection | ||
Previously, --retry-wait was not used when retrying after 404 | ||
(--max-file-not-found). The retry was done without delay. Also the | ||
maximum retry count (--max-retries) was ignored when retrying with | ||
404. | ||
|
||
Fixes GH-346 | ||
This commit makes --retry-wait apply for retrying with 404 as well. | ||
It also combines --max-retries and --max-file-not-found. When | ||
retrying with 404, it is counted toward retry count. |